[Gelöst] LEDs am Snom 360 blinken nicht

fn

Neuer User
Mitglied seit
7 Okt 2005
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Moin,
bei meinem Snom 360 blinken die LEDs leider nicht, wenn das entsprechende Telefon klingelt.
Wie ich sie generell zum Leuchten bringe, das weiß ich. Da ich dazu allerdings schon sehr viel zusammensuchen musste und ich ein großer Fan der Suchfunktion bin, poste ich hier mal einen Text, den ich über meine bisherigen Schritte geschrieben habe:


1. In der sip.conf (oder sip_custom.conf) in /etc/asterisk/ muss bei dem Eintrag für das Telefon ein subscribecontext definiert sein.
Dieser Context muss derjenige sein, in dem sich die hints (s. 2.) für die Telefone befinden, deren Status man mit den LEDs überwachen will.
Am einfachsten ist es, wenn alle Telefone im selben Context stehen und dies auch der selbe des "context"-Eintrages ist.

[snom360]
context = from-internal
subscribecontext = from-internal
...

2. In der extensions.conf muss für die Extension, über die man das Telefon anwählt, ein "hint" gesetzt werden.
Das muss genau in dem Context geschehen der dem "subscribecontext" von 1. entspricht (oder in einem Context, der vom Subscribecontext included wird).

exten => snom320,hint,SIP/snom320

Setzt man hier statt "SIP" "DS" ein, so lässt sich die LED per Bristuff Devstate steuern, funktioniert aber nicht mehr automatisch.

3. Jetzt muss man beim Snom eine der Funktionstasten für die zu überwachende Extension konfigurieren.
Dazu trägt man entweder im Webinterface unter Einrichtung->Funktionstasten die Extension (z.B. snom320) ein und stellt im zugehörigen Dropdownmenü "Ziel" ein
oder man macht in der per http geholten Konfigurationsdatei einen Eintrag:

fkey4: dest sip:[email protected];user=phone

Die IP ist dabei die des Asteriskservers.

4. Damit das Telefon sich die Konfigurationsdatei vom http-Server holt, muss es neugestartet werden.
Wenn man Änderungen an der extensions.conf vorgenommen hat (wie unter 2.), dann muss man Asterisk per "reload" zum Neuladen der Konfiguration veranlassen.
Wichtig: Ältere Asteriskversionen löschen beim Reload die Subscriptions.
Deshalb sollte man nach jedem reload auch die Telefone neustarten, damit diese sich neu subscriben.

--

Hinter den Kulissen:
Das Telefon versucht sich für jede belegte Funktionstaste beim Asterisk zu subscriben. Ob das erfolgreich war, kann man mit "sip show subscriptions" im CLI herausfinden.
Für jedes Telefon sollte für jede Funktionstaste eine Zeile erscheinen.
10.1.0.204 snom360 3c26700d0c35-xvvvpm9b
Dabei stehen IP und Benutzername nicht für das überwachte, sondern für das überwachende Telefon, also das, bei dem die LED hinterher leuchten soll.

Wenn jetzt jemand das überwachte Telefon anruft, dann bekommt das überwachende Telefon ein Paket, das ihm den Statuswechsel verkündet.
Code:
NOTIFY sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 10.1.0.111:5060;branch=z9hG4bK3888ba74
From: <sip:[email protected]>;tag=as314557a4
To: <sip:[email protected]>;tag=cof5eq1lcx
Contact: <sip:[email protected]>
Call-ID: 3c26700d1117-461ev4jglg9i@snom360
CSeq: 105 NOTIFY
User-Agent: Asterisk PBX
Event: dialog
Content-Type: application/dialog-info+xml
Content-Length: 205

<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="3" state="full" entity="sip:[email protected]">
<dialog id="snom320">
<state>trying</state>
</dialog>
</dialog-info>
Dabei ist die Zeile "<state>trying</state>" entscheidend.
"trying" steht für ein klingelndes Telefon,
"confirmed" für ein aktives Gespräch und
"terminated" für ein beendetes Gespräch, also für den Grundzustand.

Die LED sollte im ersten Fall blinken, im zweiten konstant leuchten und im dritten aus sein.
Warum sie bei uns auch im ersten Fall konstant leuchtet, ist mir ein Rätsel und liegt meines Erachtens an der Firmware des Snom. Ich habe bisher die Versionen 3.59, 4.0, 4.2 und 4.3 getestet.

Deshalb bitte ich alle, die blinkende LEDs an ihrem Snom haben, mir einfach mitzuteilen, welche Firmwareversion sie verwenden.

Links:
http://www.ip-phone-forum.de/forum/viewtopic.php?t=14292 (April 2005)
Das selbe Problem, mit einem Patch gelöst, der sich aber nach meinen Analysen des Sourcecodes schon in meiner Version (1.2 Beta) befindet.

http://bugs.digium.com/bug_view_page.php?bug_id=3644 (closed 28.9.2005)
Die entsprechende Seite im Bugtracker

http://www.voip-info.org/wiki/view/Asterisk+phone+snom
Kurzanleitung für Snom und Asterisk, sicherlich eine gute Quelle für aktuelle Information
 
Re: [Problem] LEDs am Snom 360 blinken nicht

fn schrieb:
2. In der extensions.conf muss für die Extension, über die man das Telefon anwählt, ein "hint" gesetzt werden.
Das muss genau in dem Context geschehen der dem "subscribecontext" von 1. entspricht (oder in einem Context, der vom Subscribecontext included wird).

exten => snom320,hint,SIP/snom320

Wichtig ist noch, dass im gleichen oder in einem inkludierten Kontext die gleiche Extensions mit Priorität 1 auftaucht, sonst wird der hint leider nicht gefunden. Ich löse das in der Regel so, dass meine subscribe-Kontexte immer noch einen Kontext inkludieren in dem alle Telefone stehen.

Setzt man hier statt "SIP" "DS" ein, so lässt sich die LED per Bristuff Devstate steuern, funktioniert aber nicht mehr automatisch.

Funktioniert natürlich leider nur mit Bristuff. Wenn ich mal zu viel Zeit hab, werd ich mal ne eigene Version davon programmieren und dann mal im Bugtracker posten.

2.), dann muss man Asterisk per "reload" zum Neuladen der Konfiguration veranlassen.
WICHTIG: Immer wenn man Asterisk reloaded hat, "vergisst" es die subscriptions der Telefone.
Deshalb sollte man nach jedem reload auch die Telefone neustarten.

Da ist deine Asterisk-Version zu alt. Du solltest mal auf CVS HEAD updaten. In älteren Versionen ist auch glaube ich der Blink-Patch noch gar nicht enthalten. AFAIk wurde der erst nach 1.2Beta1 eingebaut.
 
Lösung

Moin,
ich habe mein Problem gelöst.

Tatsächlich ist nicht die Snom-Firmware sondern die Bristuffversion entscheidend, bei der ab Version 0.2.0-RC8k der Blinkpatch enthalten ist.
Dazu heisst es im Changelog "- chan_sip fix to make SNOM leds blink when ringing".
In Version 0.2.0-RC8m kommt noch ein "- fixed SIP NOTIFY stuff to make SNOM BLFs work properly" hinzu. Ausserdem funktioniert Pickup jetzt auch wesentlich leichter.

Asterisk sendet jetzt eine veränderte Notify-Meldung:

Code:
NOTIFY sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 10.1.0.202:5060;branch=z9hG4bK44005ebc
From: <sip:[email protected]>;tag=as419dd2ef
To: <sip:[email protected]>;tag=ie5sgl70sc
Contact: <sip:[email protected]>
Call-ID: 3c26700d186a-bnyupko2kc8r@snom360
CSeq: 104 NOTIFY
User-Agent: Asterisk PBX
Event: dialog
Content-Type: application/dialog-info+xml
Content-Length: 336

<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="2" state="full" entity="sip:[email protected]">
<dialog id="dummy" direction="recipient">
<state>early</state>
<local><target uri="sip:[email protected]"/></local>
<remote><target uri="sip:*[email protected]"/></remote>
</dialog>
</dialog-info>

Hier sind also einige Änderungen zu sehen:
Das "dialog"-Tag scheint jetzt eine Dummyfunktion zu haben.
"trying" wurde durch "early" ersetzt. (Kann nicht ausschlaggebend sein, habe ich auch schonmal versucht.)
"<local>" und "<remote>" sind hinzugekommen.

Besonders <remote> ist sehr interessant. Der dort angegebene Targeturi beinhaltet die Extension, die das Snom wählt, wenn man die Taste drückt, während die zugehörige LED blinkt.
Sie setzt sich zusammen aus der Pickup-Extension (lässt sich in features.conf bestimmen. default: *8) und der überwachten Extension.

Jetzt ist Callpickup kinderleicht:
Die Zeile

exten => _*8.,1,PickUpChan(SIP/${EXTEN:2})

in der extensions.conf reicht aus, damit der Anruf übernommen wird, sobald jemand die Taste an der blinkenden LED drückt. (Wie oben erwähnt, ist dafür Bristuff Version 0.2.0-RC8m erforderlich.)
 
Hallo! Kann mir jemand helfen??:( Hatte den selben Problem, aber bei mir wollte gar nicht leuchten.
Jetzt leuchtet es, aber die ganze Zeit(beide Hörer abgelegt). Woran kann das liegen?
In extensions.conf habe nur exten => 1,hint,SIP/1 geschrieben. Reicht es? Und habe alles in default context.
 
Hint mit Variablen geht nicht

moin, wenn ich ein exten => _XX.,HINT,SIP/${EXTEN}
einfüge wird bei mir nicht angezeigt, hardge"coded" mit
exten => 24,HINT,SIP/24
exten => 24,1,DIAL(SIP/24)
exten => 24,2,Hangup

geht.

Asterisk 1.0.10-BRIstuffed-0.2.0-RC8q
snom320/3.60p

probier nochmal nen Firmware Update, oder geht Variablen in HINT nicht?

Christian
 
psi123 schrieb:
probier nochmal nen Firmware Update, oder geht Variablen in HINT nicht?

Geht nicht :!:


voip-info.org schrieb:
Example
exten => 200,hint,SIP/phone1 ; this is case sensitive (!) in 1.0.9 and 1.2.0
exten => 200,1,Macro(stdexten,SIP/phone1)

Note: As of Nov. '05 there is a bug 5856 describing that in Asterisk 1.0.9 and 1.2.0 the hint argument is case sensitive. So you must use 'SIP' or 'Zap' instead of e.g. 'sip' or 'ZAP'.

If you want to monitor the state of multiple phones using one speeddial, you can do so:
exten => 200,hint,SIP/201&SIP/202&SIP/203

Note: This mapping is statically defined at load time and cannot be changed on the fly. The definition must use only constant strings. A variable such as ${EXTEN} or anything else that gets dynamically assigned, therefore makes no sense here.

Asterisk seems to provide syntax for allowing more than one channel to be mapped to any particular extension with the hint system.

Useful CLI commands for debugging are "SIP show subscriptions", "show hints", "show channeltypes" and "SIP show inuse".
 
okay, hab mittlerweile auch verstanden das exten => _XX,hint,SIP/${EXTEN} nicht geht,
aber
exten => 24,hint,SIP/24
exten => _XX.,1,DIAL(SIP/${EXTEN})
etc.
müsste ja gehen (tuts aber nicht :()

hast du einen anderen vorschlag (hab eigentlich keine Lust für alle Extensions die DIAL Einträge anzulegen....

Christian
 
Auszug aus meiner extensions.conf - funktioniert einwandfrei !

[default]
exten => 30,hint,SIP/30
exten => 31,hint,SIP/31
exten => 32,hint,SIP/32
exten => 33,hint,SIP/33
exten => 34,hint,SIP/34
exten => 35,hint,SIP/35
exten => 36,hint,SIP/36
exten => 37,hint,SIP/37
exten => 38,hint,SIP/38
exten => 39,hint,SIP/39

exten => _3X,1,NoCDR()
exten => _3X,2,Dial,SIP/${EXTEN}|55|Ttr

Hast Du Deinen Code-Schnipsel auch im richtigen Context der SIP-Teilnehmer stehen ?

Wenn Du übrigens nur 2-stellige extensions abhandeln willst, dann solltest Du den Punkt hinter XX weglassen.
 
moin,

ja, im orginal ist es auch ohne . :)

im richtigen context stehts auch, wenn ich es manuell mache,
also

exten => 24,hint,SIP/24
exten => 24,1,DIAL(SIP/24)
exten => 24,2,Hangup

dann gehts auch, sogar mit dem pickup :)

hmm, morgen nochmal schauen...:(
 
gelöst

moin,

tja, an einem wichtigerem Problem nebenbei gefummelt, und dann aufeinmal die Fehlermeldungen bemerkt beim reload der Konfig.
Dort sagte er mit, das er das Command HINT nicht kennt.

Also: bei asteerisk 1.0.9 muss hint klein geschrieben werden.

und dann ging es aufeinmal... und das tollste:
Nach den Beschreibungen die ich hatte, blinken die LEDS nur auf HINTS (hint) in ihrem Subscribe-Context.
Da intern / extern DIALS bei mir in getrennten Contexten stehen die nicht includiert sind, dachte ich das ich mir da meinen Dialplan umstellen muss.
Aber nein, es geht. auch einkommende Anrufe von ISDN werden signalisiert (hints sind im internen Kontext).

hier mal meine extension.conf (gekürzt)

Code:
[general]
writeprotect=no

[default]

[sip-client-fax]
;exten => _.,1,Answer
exten => _.,1,Settransfercapability(3K1AUDIO)
exten => _.,2,DIAL(ZAP/G1/${EXTEN},120,trg)
exten => _.,3,Hangup

[sip-client]
exten => 11,hint,SIP/11
exten => 12,hint,SIP/12
exten => 13,hint,SIP/13

;intern
exten => _XX,1,DIAL(SIP/${EXTEN},120,trg)
exten => _XX,2,Hangup

;extern
exten => _XXX.,1,SetCIDNum(${CALLERIDNUM})
exten => _XXX.,2,DIAL(ZAP/G1/${EXTEN},120,trg)
exten => _XXX.,3,Hangup

;pickup
exten => _*8.,1,PickUpChan(SIP/${EXTEN:2})

[isdn-in]
exten => _X.,1,DIAL(SIP/${EXTEN:6},120,trg)
exten => _X.,2,Goto(action-${DIALSTATUS},1)
exten => _X.,3,Hangup

exten => action-NOANSWER,1,DIAL(SIP/11,120,trg)
exten => action-NOANSWER,2,Hangup

exten => action-BUSY,1,DIAL(SIP/11,120,trg)
exten => action-BUSY,2,Hangup

exten => action-CONGESTION,1,DIAL(SIP/11,120,trg)
exten => action-CONGESTION,2,Hangup

Ich weiß ich weiß, kann man noch viel besser machen, aber erstmal funktionierts :)
 
Veilleicht noch eine GAAAANZ wichtige Info ohne die es erst gar nicht funktioniert! (Zumindest bei meinen Snom360)

sip.conf

notifyringing=yes
useclientcode=yes

Gruss,

Jörg Esser
 
Nur einmal der Vollständigkeit halber angeführt:

http://www.ip-phone-forum.de/showthread.php?t=100426

Dort wird beschrieben wie man * patcht, dass neben dem Leuchten der LEDs auch die dahinterliegende Triple-Funktion der F-Keys z.B. bei ISDN-Anrufen funktioniert.
 
Genau das hat mein Problem entgültig gelöst. Ich habe gedacht das die Rufübernahme auch ohne patch geht. Aber das war nicht so. Auch der Patch ist notwendig. Zumindest bei meinem *.

Vielen Dank für das SUPER Howto. Auch für blöde wie mich geeignet.

Gruss,

Jörg Esser
 
Evtl. kann mir jemand sagen warum ein nicht erreichbares Snom360 bei allen Telefonen ständig leuchtet ?

sip show peers
Snom10/Snom10 (Unspecified) D 0 UNKNOWN

extensions.conf
[LED]
exten => 10,hint,SIP/Snom10

Hat sonst noch jemand das Problem ? Die LED sollte doch eigentlich in diesem Fall aus sein oder nicht ?

Ich habe auch schon das mit der defaultip wie hier beschrieben ausprobiert. Funktioniert aber leider nicht richtig.

/EDIT

defaultip funktioniert doch musste nur mal alle Telefone rebooten.



Gruss,

Jörg
 
Zuletzt bearbeitet:
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.