Hallo zusammen,
ich hoffe, einer von Euch hat eine Idee.
Ich habe ein IVR gebaut, was nach einem Callback angeboten wird.
Funktioniert eigentlich ganz gut - mit einer Ausnahme. Wenn aus dem IVR eine weitere Verbindung aufgebaut wird - und diese getrennt wird - und ich dann eine neue Auswahl treffe, hängt er sich auf. Ohne die DIALs tuts einwandfrei - und ich kann rauf und runter navigieren.
So, ganz konkret:
Dieses Menü steuert einen Telefonschalter des FS20 Systems (kann über Funk Steckdosen und Heizung etc. schalten).
Der Schalter wird angerufen (1234567-2), über das Macro Passwort (hier 9999) und Steuerbefehl per DTMF gepiepst und aufgelegt.
In unten stehendem Beispiel habe ich die 2 (Kaffeemaschine aus) gewählt - hat er brav gemacht - ich lande wieder im Menü, habe bewusst in einen Timeout laufen lassen - das funktioniert: er wiederholt das Menü - ich treffe eine neue Wahl (egal was) und er hängt auf...
Auch ein MACRO_RESULT=CONTINUE hat nichts gebracht.
Ich habe keine Idee mehr und weiss nicht, was beim zweiten Durchlauf nach einer Verbindung anders sein soll. SIP und IAX2 DEBUG hat mir auch irgendwie nicht mehr verraten.
Telefon ist via Fritzbox-SIP als 776 an Asterisk (1.4.2) auf meinem VSERVER angemeldet. Der verbindet via IAX2 auf den zweiten Asterisk 1.2 auf meiner Fritzbox, der wählt über den internen ISDN Kanal. Hier liegt das Problem aber nach meiner Einschätzung nicht.
Hier meine extensions.conf (vom VSERVER)
Und hier mein CLI Verbose.
Danke für Eure Hilfe!
ich hoffe, einer von Euch hat eine Idee.
Ich habe ein IVR gebaut, was nach einem Callback angeboten wird.
Funktioniert eigentlich ganz gut - mit einer Ausnahme. Wenn aus dem IVR eine weitere Verbindung aufgebaut wird - und diese getrennt wird - und ich dann eine neue Auswahl treffe, hängt er sich auf. Ohne die DIALs tuts einwandfrei - und ich kann rauf und runter navigieren.
So, ganz konkret:
Dieses Menü steuert einen Telefonschalter des FS20 Systems (kann über Funk Steckdosen und Heizung etc. schalten).
Der Schalter wird angerufen (1234567-2), über das Macro Passwort (hier 9999) und Steuerbefehl per DTMF gepiepst und aufgelegt.
In unten stehendem Beispiel habe ich die 2 (Kaffeemaschine aus) gewählt - hat er brav gemacht - ich lande wieder im Menü, habe bewusst in einen Timeout laufen lassen - das funktioniert: er wiederholt das Menü - ich treffe eine neue Wahl (egal was) und er hängt auf...
Auch ein MACRO_RESULT=CONTINUE hat nichts gebracht.
Ich habe keine Idee mehr und weiss nicht, was beim zweiten Durchlauf nach einer Verbindung anders sein soll. SIP und IAX2 DEBUG hat mir auch irgendwie nicht mehr verraten.
Telefon ist via Fritzbox-SIP als 776 an Asterisk (1.4.2) auf meinem VSERVER angemeldet. Der verbindet via IAX2 auf den zweiten Asterisk 1.2 auf meiner Fritzbox, der wählt über den internen ISDN Kanal. Hier liegt das Problem aber nach meiner Einschätzung nicht.
Hier meine extensions.conf (vom VSERVER)
Code:
[callback-menue-9-9]
exten => s,1,NoOp(########9-9 - Menue Hausanlage#######)
exten => s,n,NoOp(Aktuelle Extension: ${EXTEN})
exten => s,n,Background(local/w1kaffeean)
exten => s,n,Background(local/w2kaffeeaus)
exten => s,n,Background(local/w3allesaus)
exten => s,n,Background(local/w4heizungan)
exten => s,n,Background(local/w0verlassen)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,WaitExten
exten => 1,1,NoOp(######9-9-1 Kaffee an###########)
exten => 1,n,Playback(local/verbinden);wird gemacht #################################################################
exten => 1,n,Dial(IAX2/asterisk2@asterisk2fbox/1234567-1,60,mM(fs20,11))
exten => 1,n,NoOp(Macroresult: ${MACRO_RESULT})
exten => 1,n,goto(s,1)
exten => 2,1,NoOp(######9-9-2 Kaffee aus###########)
exten => 2,n,Playback(local/verbinden)
exten => 2,n,Dial(IAX2/asterisk2@asterisk2fbox/1234567-2,60,mM(fs20,10))
exten => 2,n,NoOp(Macroresult: ${MACRO_RESULT})
exten => 2,n,goto(s,1)
exten => 3,1,NoOp(######9-9-3 Alles aus###########)
exten => 3,n,Playback(local/verbinden)
exten => 3,n,Dial(IAX2/asterisk2@asterisk2fbox/1234567-3,60,mM(fs20,1))
exten => 3,n,NoOp(Macroresult: ${MACRO_RESULT})
exten => 3,n,goto(s,1)
exten => 4,1,NoOp(######9-9-4 Heizung an###########)
exten => 4,n,Playback(local/verbinden)
exten => 4,n,Dial(IAX2/asterisk2@asterisk2fbox/1234567-4,60,mM(fs20,2))
exten => 4,n,NoOp(Macroresult: ${MACRO_RESULT})
exten => 4,n,goto(s,1)
exten => 0,1,NoOp(###### eins nach oben ###########)
exten => 0,n,goto(callback-menue-9,s,1)
; Timeout und Falscheingabe springen zum Anfang
exten => t,1,playback(local/nichtverstanden)
exten => t,n,goto(s,1)
exten => i,1,playback(local/nichtverstanden)
exten => i,n,goto(s,1)
exten => h,1,NoOp(##Verbindung getrennt##)
exten => h,n,playback(local/keineverbindung)
exten => h,n,goto(s,1)
[macro-fs20]
exten => s,1,NoOp(Hier beginnt das FS20-Makro!)
exten => s,n,WaitForSilence(1500)
exten => s,n,SendDTMF(*9999*)
exten => s,n,WaitForSilence(1500)
exten => s,n,NoOp(DTMF: ${Arg1})
exten => s,n,SendDTMF(${Arg1}*)
exten => s,n,Set(MACRO_RESULT=ABORT)
exten => s,n,NoOp(Macro beendet mit Result: ${MACRO_RESULT})
Und hier mein CLI Verbose.
Code:
-- Executing [s@callback-menue-9-9:1] NoOp("SIP/776-08253680", "########9-9 - Menue Hausanlage#######") in new stack
-- Executing [s@callback-menue-9-9:2] NoOp("SIP/776-08253680", "Aktuelle Extension: s") in new stack
-- Executing [s@callback-menue-9-9:3] BackGround("SIP/776-08253680", "local/w1kaffeean") in new stack
-- <SIP/776-08253680> Playing 'local/w1kaffeean' (language 'de')
-- Executing [s@callback-menue-9-9:4] BackGround("SIP/776-08253680", "local/w2kaffeeaus") in new stack
-- <SIP/776-08253680> Playing 'local/w2kaffeeaus' (language 'de')
-- Executing [s@callback-menue-9-9:5] BackGround("SIP/776-08253680", "local/w3allesaus") in new stack
-- <SIP/776-08253680> Playing 'local/w3allesaus' (language 'de')
-- Executing [s@callback-menue-9-9:6] BackGround("SIP/776-08253680", "local/w4heizungan") in new stack
-- <SIP/776-08253680> Playing 'local/w4heizungan' (language 'de')
== CDR updated on SIP/776-08253680
-- Executing [2@callback-menue-9-9:1] NoOp("SIP/776-08253680", "######9-9-2 Kaffee aus###########") in new stack
-- Executing [2@callback-menue-9-9:2] Playback("SIP/776-08253680", "local/verbinden") in new stack
-- <SIP/776-08253680> Playing 'local/verbinden' (language 'de')
-- Executing [2@callback-menue-9-9:3] Dial("SIP/776-08253680", "IAX2/asterisk2@asterisk2fbox/1234567-2|60|mM(fs20|10)") in new stack
-- Called asterisk2@asterisk2fbox/1234567-2
-- Started music on hold, class 'default', on SIP/776-08253680
-- Call accepted by 81.xxx.yyy.zzz (format ulaw)
-- Format for call is ulaw
-- IAX2/asterisk2fbox-3 is making progress passing it to SIP/776-08253680
-- IAX2/asterisk2fbox-3 is ringing
-- IAX2/asterisk2fbox-3 answered SIP/776-08253680
-- Executing [s@macro-fs20:1] NoOp("IAX2/asterisk2fbox-3", "Hier beginnt das FS20-Makro!") in new stack
-- Executing [s@macro-fs20:2] WaitForSilence("IAX2/asterisk2fbox-3", "1500") in new stack
-- Waiting 1 time(s) for 1500 ms silence with 0 timeout
-- Exiting with 1500ms silence >= 1500ms required
-- Executing [s@macro-fs20:3] SendDTMF("IAX2/asterisk2fbox-3", "*9999*") in new stack
-- Executing [s@macro-fs20:4] WaitForSilence("IAX2/asterisk2fbox-3", "1500") in new stack
-- Waiting 1 time(s) for 1500 ms silence with 0 timeout
-- Exiting with 1500ms silence >= 1500ms required
-- Executing [s@macro-fs20:5] NoOp("IAX2/asterisk2fbox-3", "DTMF: 10") in new stack
-- Executing [s@macro-fs20:6] SendDTMF("IAX2/asterisk2fbox-3", "10*") in new stack
-- Executing [s@macro-fs20:7] Set("IAX2/asterisk2fbox-3", "MACRO_RESULT=ABORT") in new stack
-- Executing [s@macro-fs20:8] NoOp("IAX2/asterisk2fbox-3", "Macro beendet mit Result: ABORT") in new stack
-- Hungup 'IAX2/asterisk2fbox-3'
-- Stopped music on hold on SIP/776-08253680
== Spawn extension (callback-menue-9-9, 2, 3) exited non-zero on 'SIP/776-08253680'
-- Executing [h@callback-menue-9-9:1] NoOp("SIP/776-08253680", "##Verbindung getrennt##") in new stack
-- Executing [h@callback-menue-9-9:2] Playback("SIP/776-08253680", "local/keineverbindung") in new stack
-- <SIP/776-08253680> Playing 'local/keineverbindung' (language 'de')
-- Executing [h@callback-menue-9-9:3] Goto("SIP/776-08253680", "s|1") in new stack
-- Goto (callback-menue-9-9,s,1)
-- Executing [s@callback-menue-9-9:1] NoOp("SIP/776-08253680", "########9-9 - Menue Hausanlage#######") in new stack
-- Executing [s@callback-menue-9-9:2] NoOp("SIP/776-08253680", "Aktuelle Extension: s") in new stack
-- Executing [s@callback-menue-9-9:3] BackGround("SIP/776-08253680", "local/w1kaffeean") in new stack
-- <SIP/776-08253680> Playing 'local/w1kaffeean' (language 'de')
-- Executing [s@callback-menue-9-9:4] BackGround("SIP/776-08253680", "local/w2kaffeeaus") in new stack
-- <SIP/776-08253680> Playing 'local/w2kaffeeaus' (language 'de')
-- Executing [s@callback-menue-9-9:5] BackGround("SIP/776-08253680", "local/w3allesaus") in new stack
-- <SIP/776-08253680> Playing 'local/w3allesaus' (language 'de')
-- Executing [s@callback-menue-9-9:6] BackGround("SIP/776-08253680", "local/w4heizungan") in new stack
-- <SIP/776-08253680> Playing 'local/w4heizungan' (language 'de')
-- Executing [s@callback-menue-9-9:7] BackGround("SIP/776-08253680", "local/w0verlassen") in new stack
-- <SIP/776-08253680> Playing 'local/w0verlassen' (language 'de')
-- Executing [s@callback-menue-9-9:8] Set("SIP/776-08253680", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10
-- Executing [s@callback-menue-9-9:9] WaitExten("SIP/776-08253680", "") in new stack
-- Timeout on SIP/776-08253680, going to 't'
-- Executing [t@callback-menue-9-9:1] Playback("SIP/776-08253680", "local/nichtverstanden") in new stack
-- <SIP/776-08253680> Playing 'local/nichtverstanden' (language 'de')
-- Executing [t@callback-menue-9-9:2] Goto("SIP/776-08253680", "s|1") in new stack
-- Goto (callback-menue-9-9,s,1)
-- Executing [s@callback-menue-9-9:1] NoOp("SIP/776-08253680", "########9-9 - Menue Hausanlage#######") in new stack
-- Executing [s@callback-menue-9-9:2] NoOp("SIP/776-08253680", "Aktuelle Extension: s") in new stack
-- Executing [s@callback-menue-9-9:3] BackGround("SIP/776-08253680", "local/w1kaffeean") in new stack
-- <SIP/776-08253680> Playing 'local/w1kaffeean' (language 'de')
-- Executing [s@callback-menue-9-9:4] BackGround("SIP/776-08253680", "local/w2kaffeeaus") in new stack
-- <SIP/776-08253680> Playing 'local/w2kaffeeaus' (language 'de')
-- Executing [s@callback-menue-9-9:5] BackGround("SIP/776-08253680", "local/w3allesaus") in new stack
-- <SIP/776-08253680> Playing 'local/w3allesaus' (language 'de')
-- Executing [s@callback-menue-9-9:6] BackGround("SIP/776-08253680", "local/w4heizungan") in new stack
-- <SIP/776-08253680> Playing 'local/w4heizungan' (language 'de')
-- Executing [s@callback-menue-9-9:7] BackGround("SIP/776-08253680", "local/w0verlassen") in new stack
-- <SIP/776-08253680> Playing 'local/w0verlassen' (language 'de')
-- Executing [s@callback-menue-9-9:8] Set("SIP/776-08253680", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10
-- Executing [s@callback-menue-9-9:9] WaitExten("SIP/776-08253680", "") in new stack
== Spawn extension (callback-menue-9-9, s, 9) exited non-zero on 'SIP/776-08253680'
Danke für Eure Hilfe!