Hallo zusammen,
vor kurzen hatte ich mir ein einfaches GROUP_COUNT mit Kombjuders Hile einrichten können.
Nun habe ich aber noch ein LCR eingebaut und es wird kompliziert. Es gibt 4 Provider 1xSipgate mit flat 2xVoipcheap + 1 mal Budgetsip.
Wenn z.B. nach Russland telefoniert wird, wird im context 1 Kanal hoch gezählt. Ruft jemand zur gleichen Zeit in Amerika an, wird in den context "voipcheap_ru2" gesprungen. Bis daher alles richtig. Was passiert wenn nun jemand gleichzeitig eine dt. Nummer wählt? Dann springt er nach:
exten => _XXXX., und versucht über sipagte raus zu telefonieren. Aber GROUP_COUNT erkennt, daß unter "context" schon zwei channels belegt sind,
es passiert also nichts.
Ist es beser das ganze über GOTO Anweisungen zu lösen?
Was meint Ihr? Das ganze war noch einfach, als noch keine LCR eingebaut war.
hier meine extensions.conf
vor kurzen hatte ich mir ein einfaches GROUP_COUNT mit Kombjuders Hile einrichten können.
Nun habe ich aber noch ein LCR eingebaut und es wird kompliziert. Es gibt 4 Provider 1xSipgate mit flat 2xVoipcheap + 1 mal Budgetsip.
Wenn z.B. nach Russland telefoniert wird, wird im context 1 Kanal hoch gezählt. Ruft jemand zur gleichen Zeit in Amerika an, wird in den context "voipcheap_ru2" gesprungen. Bis daher alles richtig. Was passiert wenn nun jemand gleichzeitig eine dt. Nummer wählt? Dann springt er nach:
exten => _XXXX., und versucht über sipagte raus zu telefonieren. Aber GROUP_COUNT erkennt, daß unter "context" schon zwei channels belegt sind,
es passiert also nichts.
Ist es beser das ganze über GOTO Anweisungen zu lösen?
Was meint Ihr? Das ganze war noch einfach, als noch keine LCR eingebaut war.
hier meine extensions.conf
Code:
[context]
; nach Amerika
exten => _001XX.,1,Set(GROUP()=context)
exten => _001XX.,2,GotoIf($["${GROUP_COUNT(context)}">"1"]?5:3)
exten => _001XX.,3,Dial(SIP/${EXTEN}@voipcheap1,30,trg)
exten => _001XX.,4,Hangup
exten => _001XX.,5,Goto(voipcheap_ru2,${EXTEN},1)
;nach Russland
exten => _007X.,1,Set(GROUP()=context)
exten => _007X.,2,GotoIf($["${GROUP_COUNT(context)}">"1"]?5:3)
exten => _007X.,3,Dial(SIP/${EXTEN}@voipcheap1,30,trg)
exten => _007X.,4,Hangup
exten => _007X.,5,Goto(voipcheap_ru2,${EXTEN},1)
;nach Türkei
exten => _0090X.,1,Set(GROUP()=context)
exten => _0090X.,2,GotoIf($["${GROUP_COUNT(context)}">"1"]?5:3)
exten => _0090X.,3,Dial(SIP/${EXTEN}@budgetsip,30,trg)
exten => _0090X.,4,Hangup
exten => _0090X.,5,Goto(voipcheap_ru1,${EXTEN},1)
exten => _XXXX.,1,Set(GROUP()=context)
exten => _XXXX.,2,GotoIf($["${GROUP_COUNT(context)}">"2"]?5:3)
exten => _XXXX.,3,Dial(SIP/${EXTEN}@sipgate,30,trg)
exten => _XXXX.,4,Hangup
exten => _XXXX.,5,Goto(voipcheap_ru1,${EXTEN},1)
[voipcheap_ru1]
exten => _XXXX.,1,Set(GROUP()=voipcheap_ru1)
exten => _XXXX.,2,GotoIf($["${GROUP_COUNT(voipcheap1)}">"1"]?5:3)
exten => _XXXX.,3,Dial(SIP/${EXTEN}@voipcheap1,30,trg)
exten => _XXXX.,4,Hangup
exten => _XXXX.,5,Goto(voipcheap_ru2,${EXTEN},1)
[voipcheap_ru2]
exten => _XXXX.,1,Set(CALLERID(number)=0)
exten => _XXXX.,2,SetCallerPres(allowed)
exten => _XXXX.,3,Dial(SIP/${EXTEN}@voipcheap2,30,trg)
exten => _XXXX.,4,Hangup