Anwahl einer Nummer sobald SIP Client einloggt

karl001

Neuer User
Mitglied seit
3 Okt 2005
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Hi!

Ich suche eine Möglichkeit, das mein Asterisk automatisch eine Nr. wählt sobald sich ein bestimmter SIP Client auf selbigen einloggt.
Genauso sollte eine andere Nr. gewählt werden sobald Asterisk den SIP Client nicht mehr erreicht.

Gibt es eine Möglichkeit sowas zu realisieren?

Hintergrund: Ich nutze Switch & Profit. Mein Nokia e60 ist gleichzeitig SIP Client so das ich S&P automatisch aktivieren möchte wenn ich im WLAN bin, genauso soll er sich automatisch ausloggen wenn ich das WLAN verlasse.

Danke für eure Hilfe!

Gruß,
Karl
 
Hi,

einfach ist das nicht.
Die einzige Lösung die ich sehe ist es über die Managementconsole und Events zu lösen. Wenn sich das Phone registriert wird ein event ausgelösst und der console übergeben. Diesen müsste man dann abfangen und seine eigene Methode schreiben.
Ob es dem Aufwand gerecht wird musst du selbst entscheiden.
 
Im Prinzip ist es sogar recht einfach. :-)
Ich hätte gerne was "internes" von Asterisk genutzt, aber so gehts auch:

- Logfileüberwachung mittels Swatch von /var/log/asterisk/messages

Login/Logout vom SIP Client werden hier reingeschrieben, Swatch startet dann einen simplen copy Befehl der entsprechende .call files nach /var/spool/asterisk/outgoing schreibt.

----
ambient ~ # more /etc/swatchrc
# Mobile logged in
watchfor /.*e60..is.now.REACHABLE.*/i
exec /bin/cp /etc/asterisk/9911.call /var/spool/asterisk/outgoing \n
continue

# Mobile logged out
watchfor /.*e60..is.now.UNREACHABLE.*/i
exec /bin/cp /etc/asterisk/9922.call /var/spool/asterisk/outgoing \n
continue
----
ambient ~ # more /etc/asterisk/9911.call
Channel: Zap/g2/08003331230
Callerid: 01234567890
Context: outgoing
Extension: 9911

ambient ~ # more /etc/asterisk/9922.call
Channel: Zap/g2/08003337890
Callerid: 01234567890
Context: outgoing
Extension: 9922
----

Das ganze ist noch nicht perfekt, z.B. wirds "kritisch" wenn der Client sehr schnell sich aus- und wieder einloggt. In diesem Fall bin ich nicht sicher ob die Reihenfolge der Calls eingehalten wird. Außerdem dauern die Calls eine gewisse Zeit, ich weiß nicht wie sich das verhält wenn beide Calls parallel ablaufen.

Weiß jemand wie ich das auf jeden Fall verhindern kann?

Karl
 
najs ist im grunde nichts anderes als mein Vorschlag, nur das du eine Datei überwachst.
Mit dem Manager-Interface könntest du jetzt noch warten ob innerhalb der nächsten 5 sek sich der Teilnehmer wieder ausloggt - und wenn nicht gleich den Anruf im Interface herstellen.

Aber deine Lösung geht auch ;)
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
248,090
Beiträge
2,281,132
Mitglieder
377,285
Neuestes Mitglied
TheAbyss1980