- 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.
Dies geht so nicht:
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???
[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: