Callback: Wie nach einer Pause wählen?

MET

Mitglied
Mitglied seit
27 Okt 2004
Beiträge
682
Punkte für Reaktionen
0
Punkte
16
Habe hier diese extension.conf zum Einrichten eines Callbacks erhalten.
[outgoing]
exten => _X.,1,Set(${CALLERIDNUM} = 0) ; Asterisk meckert, wenn EXTEN=CALLERIDNUM
;Alternative: exten => _00.,1,Dial(SIP/${EXTEN}@intervoip,60)
;Alternative: exten => _0Z.,n,Dial(SIP/${EXTEN}@intervoip,60)
exten => _00.,1,Dial(IAX2/011${EXTEN:2}@voipjet,60)
exten => _0Z.,n,Dial(IAX2/011${EXTEN:2}@voipjet,60)

[incoming]
;Callback ist für diese Nummern erlaubt:
exten => sipcall/00123456789,1,Macro(callfile,${CALLERID(num)})
exten => sipcall/+123456789,1,Macro(callfile,${CALLERID(num)})

[macro-callfile]
exten => s,1,system(echo 'Channel: Local/${ARG1}@outgoing' > /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Context: callback' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Extension: s' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'MaxRetries: 1' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'RetryTime: 5' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'WaitTime: 20' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(mv /var/spool/asterisk/${ARG1} /var/spool/asterisk/outgoing/)
exten => s,n,Busy

[callback]
exten => s,1,Answer()
exten => s,n,DISA(no-password,default)
exten => s,n,Hangup

Dies geht so nicht:
vs8709*CLI>
-- Executing [sipcall@incoming:1] Macro("SIP/212.117.200.148-f6f02980", "callfile|00xxxxxxxxx") in new stack
-- Executing [s@macro-callfile:1] System("SIP/212.117.200.148-f6f02980", "echo Channel: Local/00xxxxxxxxx@outgoing > /var/spool/asterisk/00xxxxxxxxx") in new stack
-- Executing [s@macro-callfile:2] System("SIP/212.117.200.148-f6f02980", "echo Context: callback >> /var/spool/asterisk/00xxxxxxxxx") in new stack
-- Executing [s@macro-callfile:3] System("SIP/212.117.200.148-f6f02980", "echo Extension: s >> /var/spool/asterisk/00xxxxxxxxx") in new stack
-- Executing [s@macro-callfile:4] System("SIP/212.117.200.148-f6f02980", "echo MaxRetries: 1 >> /var/spool/asterisk/00xxxxxxxxx") in new stack
-- Executing [s@macro-callfile:5] System("SIP/212.117.200.148-f6f02980", "echo RetryTime: 5 >> /var/spool/asterisk/00xxxxxxxxx") in new stack
-- Executing [s@macro-callfile:6] System("SIP/212.117.200.148-f6f02980", "echo WaitTime: 20 >> /var/spool/asterisk/00xxxxxxxxx") in new stack
-- Executing [s@macro-callfile:7] System("SIP/212.117.200.148-f6f02980", "mv /var/spool/asterisk/00xxxxxxxxx /var/spool/asterisk/outgoing/") in new stack
-- Executing [s@macro-callfile:8] Busy("SIP/212.117.200.148-f6f02980", "") in new stack
== Spawn extension (macro-callfile, s, exited non-zero on 'SIP/212.117.200.148-f6f02980' in macro 'callfile'
== Spawn extension (macro-callfile, s, exited non-zero on 'SIP/212.117.200.148-f6f02980'
-- Attempting call on Local/00xxxxxxxxx@outgoing for s@callback:1 (Retry 1)
-- Executing [00xxxxxxxxx@outgoing:1] Set("Local/00xxxxxxxxx@outgoing-4e74,2", " = 0") in new stack
-- Executing [00xxxxxxxxx@outgoing:2] Dial("Local/00xxxxxxxxx@outgoing-4e74,2", "IAX2/011xxxxxxxxx@voipjet|60") in new stack
-- Called 011xxxxxxxxx@voipjet
[Aug 10 18:49:08] WARNING[7379]: chan_iax2.c:7771 socket_process: Call rejected by 208.72.186.69: No authority found
-- Hungup 'IAX2/voipjet-13431'
== Everyone is busy/congested at this time (1:0/0/1)
== Auto fallthrough, channel 'Local/00xxxxxxxxx@outgoing-4e74,2' status is 'CHANUNAVAIL'
[Aug 10 18:49:08] NOTICE[2170]: pbx_spool.c:341 attempt_thread: Call failed to go through, reason ( Congestion (circuits busy)
-- Attempting call on Local/00xxxxxxxxx@outgoing for s@callback:1 (Retry 2)
-- Executing [00xxxxxxxxx@outgoing:1] Set("Local/00xxxxxxxxx@outgoing-c47b,2", " = 0") in new stack
-- Executing [00xxxxxxxxx@outgoing:2] Dial("Local/00xxxxxxxxx@outgoing-c47b,2", "IAX2/011xxxxxxxxx@voipjet|60") in new stack
-- Called 011xxxxxxxxx@voipjet
[Aug 10 18:49:14] WARNING[7382]: chan_iax2.c:7771 socket_process: Call rejected by 208.72.186.69: No authority found
-- Hungup 'IAX2/voipjet-939'
== Everyone is busy/congested at this time (1:0/0/1)
== Auto fallthrough, channel 'Local/00902163714799@outgoing-c47b,2' status is 'CHANUNAVAIL'
[Aug 10 18:49:14] NOTICE[2182]: pbx_spool.c:341 attempt_thread: Call failed to go through, reason ( Congestion (circuits busy)
vs8709*CLI>

Wenn ich dies richtig verstehe erfolgt der Rückruf zur anrufenden Nummer noch während dem der Lockruf läuft, d.h. die Nummer ist besetzt. Wie kann man diesen Rückruf verzögern, bspw. mit einer Pause von etwa 20 Sekunden?

Anmerkung: Mit nur ein paar wenigen Tagen Asterisk-Erfahrung kann ich in der extensions.conf nicht alles verstehen. Es sieht so aus als ob mit WaitTime eine Pause vorgesehen ist. Weshalb kommt dann trotzdem circuits busy???
 
Zuletzt bearbeitet:
Danke BigBadaBoom, ist dies richtig so?
exten => _00.,1,Wait(10)Dial(IAX2/011${EXTEN:2}@voipjet,60)
 
WaitTime: <number> Seconds to wait for an answer
Also nicht Sekunden bis der Anruf erfolgt.

Nein, so leicht gehts nicht *g*
Ich meine es so:
Code:
exten => _00.,1,Wait(10)
exten => _00.,n,Dial(IAX2/011${EXTEN:2}@voipjet,60)
 
Deine Antwort verwirrt mich etwas:

Heisst der Befehl nun WaitTime oder Wait?
Was ist der Unterschied? Weshalb hast Du dann nicht WaitTime genommen?
 
Es sieht so aus als ob mit WaitTime eine Pause vorgesehen ist. Weshalb kommt dann trotzdem circuits busy???

Ich meinte das WaitTime in der callfile.
Der command in der extensions.conf heißt Wait.
 
Habe es mit Wait versucht. Geht leider auch nicht, weder mit VoipJet noch mit Intervoip:
vs8709*CLI>
-- Executing [sipcall@incoming:1] Macro("SIP/212.117.200.148-f6f031b0", "callfile|00123456789") in new stack
-- Executing [s@macro-callfile:1] System("SIP/212.117.200.148-f6f031b0", "echo Channel: Local/00123456789@outgoing > /var/spool/asterisk/00123456789") in new stack
-- Executing [s@macro-callfile:2] System("SIP/212.117.200.148-f6f031b0", "echo Context: callback >> /var/spool/asterisk/00123456789") in new stack
-- Executing [s@macro-callfile:3] System("SIP/212.117.200.148-f6f031b0", "echo Extension: s >> /var/spool/asterisk/00123456789") in new stack
-- Executing [s@macro-callfile:4] System("SIP/212.117.200.148-f6f031b0", "echo MaxRetries: 1 >> /var/spool/asterisk/00123456789") in new stack
-- Executing [s@macro-callfile:5] System("SIP/212.117.200.148-f6f031b0", "echo RetryTime: 5 >> /var/spool/asterisk/00123456789") in new stack
-- Executing [s@macro-callfile:6] System("SIP/212.117.200.148-f6f031b0", "echo WaitTime: 20 >> /var/spool/asterisk/00123456789") in new stack
-- Executing [s@macro-callfile:7] System("SIP/212.117.200.148-f6f031b0", "mv /var/spool/asterisk/00123456789 /var/spool/asterisk/outgoing/") in new stack
-- Executing [s@macro-callfile:8] Busy("SIP/212.117.200.148-f6f031b0", "") in new stack
== Spawn extension (macro-callfile, s, 8) exited non-zero on 'SIP/212.117.200.148-f6f031b0' in macro 'callfile'
== Spawn extension (macro-callfile, s, 8) exited non-zero on 'SIP/212.117.200.148-f6f031b0'
-- Attempting call on Local/00123456789@outgoing for s@callback:1 (Retry 1)
-- Executing [00123456789@outgoing:1] Set("Local/00123456789@outgoing-f631,2", " = 0") in new stack
-- Executing [00123456789@outgoing:2] Wait("Local/00123456789@outgoing-f631,2", "10") in new stack
-- Executing [00123456789@outgoing:3] Dial("Local/00123456789@outgoing-f631,2", "SIP/00123456789@intervoip|60") in new stack
-- Called 00123456789@intervoip
[Aug 11 12:27:15] NOTICE[29628]: pbx_spool.c:341 attempt_thread: Call failed to go through, reason (0) Call Failure (not BUSY, and not NO_ANSWER, maybe Circuit busy or down?)
== Spawn extension (outgoing, 00123456789, 3) exited non-zero on 'Local/00123456789@outgoing-f631,2'
-- Attempting call on Local/00123456789@outgoing for s@callback:1 (Retry 2)
-- Executing [00123456789@outgoing:1] Set("Local/00123456789@outgoing-8f18,2", " = 0") in new stack
-- Executing [00123456789@outgoing:2] Wait("Local/00123456789@outgoing-8f18,2", "10") in new stack
-- Executing [00123456789@outgoing:3] Dial("Local/00123456789@outgoing-8f18,2", "SIP/00123456789@intervoip|60") in new stack
-- Called 00123456789@intervoip
[Aug 11 12:27:40] NOTICE[29790]: pbx_spool.c:341 attempt_thread: Call failed to go through, reason (0) Call Failure (not BUSY, and not NO_ANSWER, maybe Circuit busy or down?)
== Spawn extension (outgoing, 00123456789, 3) exited non-zero on 'Local/00123456789@outgoing-8f18,2'
vs8709*CLI>

Hat jemand eine Idee woran es sonst liegen könnte, dass der Rückruf nicht funktioniert?
 
Es sieht bei dir also ca so aus?
Code:
exten => _00.,1,Wait(10)
exten => _00.,n,Dial(SIP/voipjet/011${EXTEN:2},60)

Wie wählst denn regulär raus? Wie sieht der "voipjet" Eintrag in der sip.conf aus?
 
Voipjet läuft über IAX2 nicht SIP, siehe thread #2 und #3.
Der Lockruf via Sipcall läuft über SIP.

Muss hier leider unterbrechen, da ich noch Vorbereitungen für die Ferienreise treffen muss, während denen ich den Callback eigentlich gerne genutzt hätte. Ein Bekannter aus dem Forum hat mir für heute Abend Hilfe per IM angeboten. Vielleicht kommt es doch noch rechtzeitig zum Laufen. Vorerst vielen Dank.
 

Statistik des Forums

Themen
246,301
Beiträge
2,249,716
Mitglieder
373,905
Neuestes Mitglied
tkdfd234
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.