Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ok, danke euch beiden. Und wie kann ich abfragen, ob jemand registriert ist (SIP)?
Ich kenn auf der cli nur sip show peers. Aber wie mache ich das im dialplan?
außer GotoIf gibt es auch noch ExecIf, damit brauchst Du nicht im Dialplan zu springen.
Um eine Nebenstelle zu überprüfen gibt es ab 1.6 device_state und extension_state, dazu brauchst Du die passenden hints, dann geht das recht schön. Zu Alternativen für <1.6 haben wir zwei Basteleien am Laufen, bei Interesse kann ich Dir die schicken.
Für 1.4 gibt es eine app_devstate.c, die man in den Asterisk mit einbauen kann. Ich weiß aber ehrlich gesagt nicht, wie sich die in der BRIstuffed verhält, weil BRIstuff selbst eine Funktion devstate hat. Aber such mal nach "device_state backport 1.4", da müsstest Du einen Patch finden, mit dem die Funktion in 1.4 dann auch device_state heißt.
Alternativ dazu könnte ich Dir ein selbstgebasteltes PHP AGI aus der 1.4er Anfangszeit anbieten, das den Status über AMI ermittelt. Das ist nicht 100%ig ausgereift, aber es hat mal funktioniert.
Aber mal was anderes, was genau hast Du eigentlich vor? Weil oft reicht es auch, den dial loszuschicken und nachher mittels ${DIALSTATUS} zu schauen was passiert ist.
Ich lasse bei einem Anruf von extern mehrere Geräte klingeln:
1x Hauptapparat 1xHandy und 1x Handy per SIP.
Mein Handy läuft halt nebenbei auch als SIP-Client am Asterisk Server, aber nur ,wenn es lokal im Netzwerk ist (also wenn ich vor Ort bin).
Ich hätte gerne sowas:
if (SIP Handy ist angemeldet)
{
DIAL (SIP Hauptapparat&SIP Handy)
}
else
{
DIAL (SIP Hauptapparat&GSM Handy)
}
Genau so habe ich das lange gemacht, aber mit Chanisavail().
Mit dem TC-300 hat das auch gut funktioniert, allerdings muß expirey am Telefon sehr kurz eingestellt werden, damit es zuverlässig funktioniert. Beim TC-300 konnte man 120 Sekunden einstellen, bei anderen SIP-Clients geht das nicht.
Damit es immer problemlos funktioniert, habe ich eine TCOM Switch Base am Asterisk angemeldet (gibts für 1 ¤ in der Bucht), die die Rufumleitung einschaltet, wenn ich das Telefon von der Box nehme. Zusätzlich wird auch die Rufumleitung eingeschaltet, wenn ich länger als 40 Sekunden brauche, bis ich ans Telefon gehe. Wenn ich das Telefon wieder auflege, wird die Umleitung abgestellt.
Also ich muss sagen, mit chanisavail hab ich nur schlechte Erfahrungen gemacht. Ich hab 1.6.1.6 und eigentlich alles mit Realtime. Damit wurden mir regelmäßig Anrufe in die Voicemail verbannt, obwohl das Tel. eigentlich registriert und erreichbar war.
Aber wenn Du sagst, dass es bei Dir lange Zeit funktioniert hat, dann liegt das wahrscheinlich am Realtime (wie so vieles ).
Ich hatte die Rufumleitung ständig an und nur bei positiver Chanisavail-Antwort vorübergehend abgestellt, also war bei Problemen die Rufumleitung immer eingeschaltet. Das einzige Problem, das blieb, war, dass kurz nachdem sich der SIP-Client neu am Asterisk zurückgemeldet hatte, die Rufumleitung bis zu zwei Minuten noch nicht aktiv war, wenn ich das Haus verlassen hatte.