Dialplan: system() blockiert Wählvorgang

Snuff

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,187
Punkte für Reaktionen
0
Punkte
36
Hallo zusammen,

ich lasse mir bei ausgehenden Anrufen per Sipsak Informationen auf das Display der Snom´s schicken. Ist jedoch eines der Telefone nicht erreichbar, dann blockiert der system() befehl den kompletten Wählvorgang. Kann man das irgendwie umgehen?
Code:
exten => _X.,10,system(sipsak -i -M -B "Test" -s sip:[email protected]:5160)
exten => _X.,11,Dial(SIP/${EXTEN}@SGT1234,60,trg)
Würde es was bringen, das sipsak erst nach dem Dialvorgang abzusenden?

Gruß Patrick
 

Snuff

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,187
Punkte für Reaktionen
0
Punkte
36
Ich hab jetzt in "Das Asterisk Buch" den Befehl TrySystem gefunden. Der egal ob erfolgreich oder nicht immer eine 0 zurückgibt und damit den Dialplan hoffentlich nicht blockiert.
 

sparkie

Aktives Mitglied
Mitglied seit
13 Nov 2005
Beiträge
1,592
Punkte für Reaktionen
20
Punkte
38
mit system sollte es aber auch gehen wenn du schreibst:
Code:
system(sipsak -i -M -B "Test" -s sip:[email protected]:5160 || :)
da dann wegen des '|| :' immer 'true' == erfolgreich zurueckgeliefert wird

- sparkie
 

HobbyStern

Aktives Mitglied
Mitglied seit
5 Dez 2005
Beiträge
1,837
Punkte für Reaktionen
0
Punkte
36
Vielleicht ist es auch ganz nett die Anweisung &disown anzufügen - es geht hier natürlich um die Mitteilung an das Telefon in Form einer SIP Message (davon gehe ich aus) und diese würde ich nicht als kritisch bezeichnen...das beenden muss also nicht abgewartet werden, der status ist jedoch interessanter - dann ggf. nicht mit disown sondern mit einer anderen pipe umlenken und somit aus der bearbeitung nehmen..!?

LG Stefan
 

Snuff

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,187
Punkte für Reaktionen
0
Punkte
36
Ich hab jetzt eine Kombination von TrySytem() und &disown und das funktioniert perfekt. Danke für die Tipps

Gruß Patrick
 

HobbyStern

Aktives Mitglied
Mitglied seit
5 Dez 2005
Beiträge
1,837
Punkte für Reaktionen
0
Punkte
36
Patrick, halte nur im Auge das es IMMER sein kann das ein Prozess durch disown ewig lebt - vielleicht möchte Dir ein Programm durch ein Neues Update eine sonst absolut ungewohnte Frage stellen (yes oer no) :) Das würde es dann bei jedem Anruf tun....solange bis Du mal selber schauen kommst oder alles überfüllt ist..

Nur so als Gedankengang

LG Stefan
 

Snuff

Aktives Mitglied
Mitglied seit
23 Jun 2006
Beiträge
1,187
Punkte für Reaktionen
0
Punkte
36
da ich das im Moment nur für Mail und Sispak benutze ist die Gefahr wohl nicht so groß, aber ich halte die Prozessliste auf dem System sowieso im Auge :)

Danke für den Hinweis
Patrick
 

HobbyStern

Aktives Mitglied
Mitglied seit
5 Dez 2005
Beiträge
1,837
Punkte für Reaktionen
0
Punkte
36
Aber gerne - Erfahrung kommt vom erfahren :)