- Mitglied seit
- 13 Jan 2006
- Beiträge
- 1,131
- Punkte für Reaktionen
- 145
- Punkte
- 63
Hallo Forum,
ich nutze eine DIVA 4BRI in einem Asterisk, um den Amtskopf für eine Octopus E300 zu machen. Die Karte läuft im NT-Modus und es muss nun folgendes geleistet werden:
abhängig von der CALLERID soll ein bestimmtes SIP-Konto zum Rauswählen genutzt werden.
Ich hatte dazu ein "catch-all" mit einer Fallunterscheidung nach diesem Schema eingerichtet:
Das funktioniert natürlich nur mit Blockwahl gut. Wählt man aus der E300 per overlap (also analoger Tln. oder Wahl aus Rückfrage), schnappt sich Asterisk die ersten 1 bis 3 Ziffern und wertet sie aus.
Ich habe es anschließend nun probiert mit einem WaitExten:
Das hat den merkwürdigen Effekt, dass Asterisk zwar wartet, aber die z. B. zwei Ziffern, die schon gewählt waren, verschluckt und diese nicht mehr Teil von ${EXTEN} sind.
Dann habe ich in der capi.conf immediate=yes gesetzt und probehalber einfach nur folgende Extension gebaut:
Ergebnis: die Extension wird auch angelaufen, aber der Timeout wird abgebrochen sobald die erste Ziffer gewählt wird:
Was mache ich falsch? Ich verstehe nicht, warum bei der letzten Version das WaitExten einfach abgebrochen wird.
ich nutze eine DIVA 4BRI in einem Asterisk, um den Amtskopf für eine Octopus E300 zu machen. Die Karte läuft im NT-Modus und es muss nun folgendes geleistet werden:
abhängig von der CALLERID soll ein bestimmtes SIP-Konto zum Rauswählen genutzt werden.
Ich hatte dazu ein "catch-all" mit einer Fallunterscheidung nach diesem Schema eingerichtet:
Code:
exten => _X.,1,Verbose(Ruf aus der E300 von ${CALLERID(num)} nach ${EXTEN})
same => n,Ringing()
same => n,GotoIf($["${CALLERID(num)}"="${RUMPF}217"]?amt_1125789)
Das funktioniert natürlich nur mit Blockwahl gut. Wählt man aus der E300 per overlap (also analoger Tln. oder Wahl aus Rückfrage), schnappt sich Asterisk die ersten 1 bis 3 Ziffern und wertet sie aus.
Ich habe es anschließend nun probiert mit einem WaitExten:
Code:
exten => _X.,1,Verbose(Ruf aus der E300 von ${CALLERID(num)} nach ${EXTEN})
same => n,WaitExten(2)
same => n,Ringing()
same => n,GotoIf($["${CALLERID(num)}"="${RUMPF}217"]?amt_1125789)
Das hat den merkwürdigen Effekt, dass Asterisk zwar wartet, aber die z. B. zwei Ziffern, die schon gewählt waren, verschluckt und diese nicht mehr Teil von ${EXTEN} sind.
Dann habe ich in der capi.conf immediate=yes gesetzt und probehalber einfach nur folgende Extension gebaut:
Code:
exten =>s,1,WaitExten(10)
same => n,Verbose(${EXTEN})
Ergebnis: die Extension wird auch angelaufen, aber der Timeout wird abgebrochen sobald die erste Ziffer gewählt wird:
Code:
== ISDN1#02: Incoming call '0309234' -> ''
-- Executing [s@bri_e300:1] NoOp("CAPI/ISDN1#02/-a", "") in new stack
-- Executing [s@bri_e300:2] WaitExten("CAPI/ISDN1#02/-a", "15") in new stack
-- ISDN1#02: Updated channel name: CAPI/ISDN1#02/1-b
[Feb 12 20:50:41] WARNING[26327]: pbx.c:5413 __ast_pbx_run: Invalid extension '1', but no rule 'i' or 'e' in context 'bri_e300'
== ISDN1#02: CAPI Hangingup for PLCI=0x201 in state 7
> ISDN1#02: CAPI INFO 0x3490: Normal call clearing
Was mache ich falsch? Ich verstehe nicht, warum bei der letzten Version das WaitExten einfach abgebrochen wird.
Zuletzt bearbeitet: