środa, 13 maja 2015

Limit kanałów na trunku wraz ze zmianą na żądanie

Szybki sposób, na zastosowania limitowania ilości połączeń wraz z możliwością zmiany ilości kanałów na żądanie

extensions.conf

exten => 4832XXXXXXX,1,Set(GROUP()=trunk)
exten => 4832XXXXXXX,n,Set(ILE=${DB(test/ile)})
exten => 4832XXXXXXX,n,Noop(Tyle polaczen ${GROUP_COUNT(trunk)} ustawiono na ${ILE})
exten => 4832XXXXXXX,n,GotoIf($[${GROUP_COUNT(trunk)} > ${ILE}]?falsz:prawda)
exten => 4832XXXXXXX,n(prawda),NoOP(prawda)
exten => 4832XXXXXXX,......
exten => 4832XXXXXXX,......
exten => 4832XXXXXXX,n(falsz),Set(DIALSTATUS=BUSY)

[kanal1]
exten => s,1,NoOP(bede zmienial liczbe kanalow na 1)
exten => s,n,Set(DB(test/ile)=1)
exten => s,n,Set(ILE=${DB(test/ile)})
exten => s,n,NoOP(kanalow ${ILE})

[kanal2]
exten => s,1,NoOP(bede zmienial liczbe kanalow na 2)
exten => s,n,Set(DB(test/ile)=2)
exten => s,n,Set(ILE=${DB(test/count)})
exten => s,n,NoOP(kanalow ${ILE})


Contexty kanal1 i kanal2 sluza do ustawiania liczby mozliwych polaczen na 1 lub 2.

Jest to jakiś pomysł, na obejście problemu niemożności ustawienia call-limit w deklaracji trunku w sip.conf