[Frage] Hangup in Macro abfangen

crasher-mike

Neuer User
Mitglied seit
1 Okt 2010
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo, ich habe ein Script geschrieben, dass alle Teilnehmer einer Gruppe via sipsak informiert, sobald einer der Teilnehmer der Gruppe angerufen wird. Wird der Anruf via Pickup entgegengenommen, sende ich im Anschluss eine leere Textnachricht an die Telefone um die Information "Call for 19XX" wieder aus dem Display zu löschen. Das gleiche möchte ich tun, wenn der externe Anrufer auflegt bevor jemand den Anruf entgegennimmt. Dazu habe ich testweise den Eintrag exten=>h,1,NoOp(Hallo aufgelegt) hinzugefügt. Leider erscheint die Ausgabe nicht im Log. Ist das denn so grundsätzlich richtig ? Würd mich über Hinweise freuen. Danke und Gruß.

[macro-dial-internal]
exten => s,1,TrySystem(/etc/asterisk/sendtext.sh ${ARG1} ${ARG2} ${ARG3})
exten => s,n,NoOp(Call Group = ${ARG1} and Text = ${ARG2} and Extension = ${ARG3})
exten => s,n,Set(DB(PICKUP/${DB(Callp/${ARG3})})=${ARG3})
exten => s,n,Dial(SIP/${ARG3},25,r)
exten => h,1,NoOp(Hallo aufgelegt)


-- Hungup 'DAHDI/i1/0163XXXXXX-19'
> doing dnsmgr_lookup for 'sipconnect.sipgate.de'
> ast_get_srv: SRV lookup for '_sip._udp.sipconnect.sipgate.de' mapped to host sipconnect.sipgate.de, port 5060
-- Accepting call from '0163XXXXXX' to '1960' on channel 0/15, span 1
-- Executing [1960@from-isdn:1] Goto("DAHDI/i1/0163XXXXXX-1a", "from-inside,1960,1") in new stack
-- Goto (from-inside,1960,1)
-- Executing [1960@from-inside:1] Macro("DAHDI/i1/0163XXXXXX-1a", "dial-internal,"Callg COMM","Call for",1960") in new stack
-- Executing [s@macro-dial-internal:1] TrySystem("DAHDI/i1/0163XXXXXX-1a", "/etc/asterisk/sendtext.sh "Callg COMM" "Call for" 1960") in new stack
-- Executing [s@macro-dial-internal:2] NoOp("DAHDI/i1/0163XXXXXX-1a", "Call Group = "Callg COMM" and Text = "Call for" and Extension = 1960") in new stack
-- Executing [s@macro-dial-internal:3] Set("DAHDI/i1/0163XXXXXX-1a", "DB(PICKUP/COMM)=1960") in new stack
-- Executing [s@macro-dial-internal:4] Dial("DAHDI/i1/0163XXXXXX-1a", "SIP/1960,25,r") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/1960
== Extension Changed 1960[hints] new state Ringing for Notify User 1968
== Extension Changed 1960[hints] new state Ringing for Notify User 1969
-- SIP/1960-00000055 is ringing
-- SIP/1960-00000055 is ringing
-- Span 1: Channel 0/15 got hangup request, cause 16
== Spawn extension (macro-dial-internal, s, 4) exited non-zero on 'DAHDI/i1/0163XXXXXX-1a' in macro 'dial-internal'
== Spawn extension (from-inside, 1960, 1) exited non-zero on 'DAHDI/i1/0163XXXXXX-1a'
== Extension Changed 1960[hints] new state Idle for Notify User 1968
-- Hungup 'DAHDI/i1/0163XXXXXX-1a'
 
Zuletzt bearbeitet:
Beim Auflegen wird die h-extension des Original Context, aus dem der Anruf ursprünglich kommt, ausgeführt. Bei Dir wäre das from-isdn.

Gibt es einen bestimmten Grund, warum Du das ganze als Makro ausführst? Die vier Zeilen wären imho im "normalen" Dialplan genau so gut aufgehoben.
 
Danke für die Info! Als Macro habe ich das geschrieben, da es mehrere interne Kontexte gibt.

Ich habe im Kontext "from-isdn" nun die Zeile "exten => h,1,NoOp(Hallo aufgelegt)" hinzugefügt. Nun erscheint die Ausgabe auch :)
 
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.