[Gelöst] Problem mit asterisk + Snom + mgernoth Pickup Patch

kermit443

Neuer User
Mitglied seit
22 Sep 2006
Beiträge
18
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich habe ein asterisk 1.2.13 mit pickup-mgernoth-2006-10-03.patch und devstate.diff wie unter http://www.ip-phone-forum.de/showthread.php?t=100426 beschrieben installiert. Angeschlossen sind einige Snom 360. Ich habe folgende extensions.conf:

Code:
[test]

exten => _10XX,1,NoOp()
exten => _10XX,n,Dial(SIP/${EXTEN}&LOCAL/65101071@test)
exten => _10XX,n,Hangup

exten => _65XXXXXX,1,NoOp(=== ${EXTEN})
exten => _65XXXXXX,n,NoOp(=== Wait: ${EXTEN:2:2})
exten => _65XXXXXX,n,Wait(${EXTEN:2:2})
exten => _65XXXXXX,n,Dial(SIP/${EXTEN:4})
exten => _65XXXXXX,n,Hangup

exten => _*8XXXX,1,PickUp(${EXTEN:2})

[from-pstn]

exten => _X.,1,Goto(test,1050,1)
exten => _X.,n,Hangup

Durch drücken von *81050 möchte ich nun den über ISDN eingegangenen Anruf heran holen. Das funktioniert leider nicht, auf dem Display des Telefons erscheint "Declined *81050". Im asterisk Log steht dazu folgendes:

Code:
pbx*CLI>
    -- Executing Goto("mISDN/8-1", "test|1050|1") in new stack
    -- Goto (test,1050,1)
    -- Executing NoOp("mISDN/8-1", "") in new stack
    -- Executing Dial("mISDN/8-1", "SIP/1050&LOCAL/65101071@test") in new stack
    -- Called 1050
    -- Called 65101071@test
    -- Executing NoOp("Local/65101071@test-2346,2", "=== 65101071") in new stack
    -- Executing NoOp("Local/65101071@test-2346,2", "=== Wait: 10") in new stack
    -- Executing Wait("Local/65101071@test-2346,2", "10") in new stack
    -- SIP/1050-08250d10 is ringing
    -- SIP/1050-08250d10 is ringing
    -- SIP/1050-08250d10 is ringing
    -- SIP/1050-08250d10 is ringing
    -- Executing Pickup("SIP/1077-08256250", "1050") in new stack
  == Spawn extension (test, *81050, 1) exited non-zero on 'SIP/1077-08256250'
    -- SIP/1050-08250d10 is ringing
  == Spawn extension (test, 1050, 2) exited non-zero on 'mISDN/8-1'
  == Spawn extension (test, 65101071, 3) exited non-zero on 'Local/65101071@test-2346,2'
pbx*CLI>

Ändere ich nun das LOCAL in der Dial Applikation in:

Code:
exten => _10XX,1,NoOp()
exten => _10XX,n,Dial(SIP/${EXTEN}&SIP/1071)
exten => _10XX,n,Hangup

funktioniert der Pickup wie gewünscht.

Code:
pbx*CLI>
    -- Executing Goto("mISDN/8-1", "test|1050|1") in new stack
    -- Goto (test,1050,1)
    -- Executing NoOp("mISDN/8-1", "") in new stack
    -- Executing Dial("mISDN/8-1", "SIP/1050&SIP/1071") in new stack
    -- Called 1050
    -- Called 1071
    -- SIP/1071-08255cc8 is ringing
    -- SIP/1050-08250788 is ringing
    -- SIP/1050-08250788 is ringing
    -- SIP/1071-08255cc8 is ringing
    -- SIP/1050-08250788 is ringing
    -- SIP/1071-08255cc8 is ringing
    -- SIP/1050-08250788 is ringing
    -- SIP/1071-08255cc8 is ringing
    -- SIP/1050-08250788 is ringing
    -- Executing Pickup("SIP/1077-0825b208", "1050") in new stack
    -- SIP/1077-0825b208 answered mISDN/8-1
  == Spawn extension (test, 1050, 2) exited non-zero on 'mISDN/8-1'
pbx*CLI>

Aber leider klingelt das zweite Telefon nun nicht mehr zeitverzögert, wie eigentlich beabsichtigt. Das Problem scheint das LOCAL im Zusammenhang mit dem Pickup zu sein.

Der Pickup über eine entsprechend konfigurierte Funtionstaste am Snom funktioniert einwandfrei!

Hat irgendeiner eine Idee?

Viele Grüsse und vielen Dank,

kermit443
 
Zuletzt bearbeitet:
Kleiner Nachtrag: SIP Trace vom Snom

Code:
Received from udp:172.27.10.40:5060 at 28/12/2006 13:13:54:550 (435 bytes):

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 172.27.100.99:2069;branch=z9hG4bK-sfray6d1qcsi;rport;received=172.27.100.99
From: "User 1" <sip:[email protected]>;tag=vfbgwu5vgn
To: <sip:*[email protected];user=phone>
Call-ID: 3c26af2b88b8-t184e5cu7644@snom360-000413235469
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:*[email protected]>
Content-Length: 0

Received from udp:172.27.10.40:5060 at 28/12/2006 13:13:54:560 (452 bytes):

SIP/2.0 603 Declined
Via: SIP/2.0/UDP 172.27.100.99:2069;branch=z9hG4bK-sfray6d1qcsi;rport;received=172.27.100.99
From: "User 1" <sip:[email protected]>;tag=vfbgwu5vgn
To: <sip:*[email protected];user=phone>;tag=as004a3866
Call-ID: 3c26af2b88b8-t184e5cu7644@snom360-000413235469
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:*[email protected]>
Content-Length: 0

Sent to udp:172.27.10.40:5060 at 28/12/2006 13:13:54:570 (404 bytes):

ACK sip:*[email protected];user=phone SIP/2.0
Via: SIP/2.0/UDP 172.27.100.99:2069;branch=z9hG4bK-sfray6d1qcsi;rport
From: "User 1" <sip:[email protected]>;tag=vfbgwu5vgn
To: <sip:*[email protected];user=phone>;tag=as004a3866
Call-ID: 3c26af2b88b8-t184e5cu7644@snom360-000413235469
CSeq: 2 ACK
Max-Forwards: 70
Contact: <sip:[email protected]:2069;line=mg8z6xqd>;flow-id=1
Content-Length: 0
 
Hallo Kermit,

kannst Du das ganze ggf. noch etwas näher ausführen bzw. wärest Du bereit die Änderungen hier mit einzustellen - ich habe gerade eine Nachricht von einem anderen Nutzer des PickupPatches bekommen der eben solches berichtet.

Grüsse, Stefan
 
Das hat glaube ich gar nichts mit dem Patch von mgernoth zu tun, sondern liegt an der Pickup Applikation selber. Um das Problem zu beheben sucht man im Quellverzeichnis von Asterisk die Datei apps\app_directed_pickup.c und ändert die Zeile
Code:
if (target && (!target->pbx) && ((target->_state == AST_STATE_RINGING) || (target->_state == AST_STATE_RING))) {
in
Code:
if (target && (!target->pbx)) {

Danach Asterisk neu übersetzen und alles sollte wie gewünscht funktionieren.

Alternativ kann man auch gleich ein komplett anderes Pickup installieren. Man findet es hier:
http://linux.thorsten-knabe.de/asterisk/pickup.jsp

Viele Grüße,

kermit
 
Hi nochmals,

Ich habe schon in einem anderen Thread den Vergleich gemacht, mag ihn aber gerne hier wiederholen, es ist nicht gerade ideal das bei den ganzen PickupPatchen ein Spagat zwischen
SNOM, ggf. Bristuff und Asterisk gemacht werden muss, alle drei sind laufend mit neuen Updates und Änderungen vertreten was laufend neue Probleme bereitet...uswusf


Danke für die Ausführung, den Alternativ-Patch habe ich im HowTo vermerkt und Deine Änderungen als BUG angefügt.

Grüsse, Stefan
 
Hallo!

Ich finde die Situation mit den Patches für Pickup und devstate auch nicht so prickelnd. Aber es ist zur Zeit die einzige Möglichkeit, bei den Snoms die Funktionstasten mit der Besetztlampenfunktion zusammen mit Asterisk zum Laufen zu bringen. Wenn ich die Einträge im Bugtrack von Digium richtig gelesen und verstanden habe, gibt es auch keine Bestrebungen, an dieser Situation etwas zu ändern. D.h., wenn es eine neue Asteriskversion gibt, hoffen, daß die Patches noch passen oder warten bis sie irgend jemand angepaßt hat.

Viele Grüße,

kermit
 
Oder eine stabile Version wählen und bei dieser möglichst lange bleiben ;)
 
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.