Asterisk 1.8 | PickUP Probleme | Can't masquerade channel

RcRaCk2k

Mitglied
Mitglied seit
4 Aug 2005
Beiträge
238
Punkte für Reaktionen
1
Punkte
16
Servus Leute,

hoffe, dass sich schon einige mit dem Asterisk 1.8 und deren Funktionen auseinandergesetzt hat. Ich habe extra den Asterisk 1.8 installiert, da dieser bereits einige Funktionen bietet, die für SNOM-Telefone von Vorteil sind, wie eben Pickup :-D

Grundsätzliches: Ich nutzte verschiedene [in-*] Contexte, damit ich verschiedene Sources unterschiedlich behandeln kann. Für Subscribes ist ein eigener Context zuständig, worin sich nur HINTS befinden.

Aus diesem Grund habe ich bereits notifycid=ignore-context gesetzt, damit SNOM-Telefone beim Call-PickUP den Spezial-Kontext PICKUPMARK verwenden. Ich setze nun bei eingehenden Gesprächen an eine direkte Durchwahl diese globale Variable. Das funktioniert auch soweit:

Zum Problem: Ich drücke auf meinem Telefon die blinkende Taste des Teilnehmers. Danach versucht er den Anruf anzunehmen, jedoch wird das Gespräch an dem "Pickup-Telefon" beendet, die andere Gegenstelle läutet weiter.

So sieht der Output aus:
Code:
  == Extension Changed 11[subscribe] new state Busy for Notify User 1234500019
  == Extension Changed 11[subscribe] new state Busy for Notify User 1234500051-01
  == Extension Changed 11[subscribe] new state Busy for Notify User 1234500051
  == Extension Changed 11[subscribe] new state Busy for Notify User 1234500010
    -- Executing [10@in-phone:1] Goto("SIP/1234500011-01-000000a0", "in-sip,10,1") in new stack
    -- Goto (in-sip,10,1)
    -- Executing [10@in-sip:1] NoOp("SIP/1234500011-01-000000a0", "Call is for seminar-shop.com") in new stack
    -- Executing [10@in-sip:2] GotoIf("SIP/1234500011-01-000000a0", "1?internal") in new stack
    -- Goto (in-sip,10,5)
    -- Executing [10@in-sip:5] NoOp("SIP/1234500011-01-000000a0", "Call is from internal user: [11] to [10]") in new stack
    -- Executing [10@in-sip:6] GotoIf("SIP/1234500011-01-000000a0", "1?internal2internal") in new stack
    -- Goto (in-sip,10,11)
    -- Executing [10@in-sip:11] NoOp("SIP/1234500011-01-000000a0", "Destination: internal user") in new stack
    -- Executing [10@in-sip:12] Set("SIP/1234500011-01-000000a0", "GLOBAL(PICKUPMARK)=10") in new stack
  == Setting global variable 'PICKUPMARK' to '10'
    -- Executing [10@in-sip:13] Goto("SIP/1234500011-01-000000a0", "phones,10,1") in new stack
    -- Goto (phones,10,1)
    -- Executing [10@phones:1] Dial("SIP/1234500011-01-000000a0", "SIP/1234500010&SIP/1234500010-01,,o") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Called 1234500010
[Oct 15 10:20:09] WARNING[15929]: app_dial.c:2030 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
  == Extension Changed 10[subscribe] new state Ringing for Notify User 1234500011-01
  == Extension Changed 10[subscribe] new state Ringing for Notify User 1234500019
  == Extension Changed 10[subscribe] new state Ringing for Notify User 1234500051-01
  == Extension Changed 10[subscribe] new state Ringing for Notify User 1234500011
  == Extension Changed 10[subscribe] new state Ringing for Notify User 1234500051
    -- SIP/1234500010-000000a1 is ringing
    -- SIP/1234500010-000000a1 is ringing
    -- SIP/1234500010-000000a1 is ringing
[Oct 15 10:20:11] NOTICE[14237]: chan_sip.c:21020 handle_request_invite: Trying to pick up 10@subscribe
[Oct 15 10:20:11] NOTICE[14237]: chan_sip.c:21020 handle_request_invite: Trying to pick up 10@subscribe
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
[Oct 15 10:20:11] ERROR[14237]: chan_sip.c:27851 setup_srtp: No SRTP module loaded, can't setup SRTP session.
[Oct 15 10:20:11] WARNING[14237]: channel.c:5625 ast_channel_masquerade: Can't masquerade channel 'SIP/1234500011-000000a2' into itself!
[Oct 15 10:20:11] WARNING[14237]: app_directed_pickup.c:136 pickup_do: Unable to masquerade 'SIP/1234500011-000000a2' into 'SIP/1234500011-000000a2'
[Oct 15 10:20:11] NOTICE[14237]: app_directed_pickup.c:313 pickup_exec: No target channel found for 10.
    -- SIP/1234500010-000000a1 is ringing
  == Extension Changed 11[subscribe] new state Idle for Notify User 1234500019
  == Extension Changed 11[subscribe] new state Idle for Notify User 1234500051-01
  == Extension Changed 11[subscribe] new state Idle for Notify User 1234500051
  == Extension Changed 11[subscribe] new state Idle for Notify User 1234500010
  == Spawn extension (phones, 10, 1) exited non-zero on 'SIP/1234500011-01-000000a0'
  == Extension Changed 10[subscribe] new state Idle for Notify User 1234500011-01
  == Extension Changed 10[subscribe] new state Idle for Notify User 1234500019
  == Extension Changed 10[subscribe] new state Idle for Notify User 1234500051-01
  == Extension Changed 10[subscribe] new state Idle for Notify User 1234500011
  == Extension Changed 10[subscribe] new state Idle for Notify User 1234500051
voip-01*CLI>

Weiß jemand, worand das Problem mit app_directed_pickup.c:136 pickup_do: Unable to masquerade 'SIP/1234500011-000000a2' into 'SIP/1234500011-000000a2' zustande kommt? Er versucht zwei Channels des gleichen Channel-Namens zu joinen.. Das kann ja nur schief gehen ....

Vielen Dank im Voraus,
Michael Rack.
 
Servus Michael,

weiß nicht, ob das jetzt was mit dem Problem zu tun hat, aber PICKUPMARK soll laut Doku eben nicht global, sondern nur vererbbar gesetzt werden. Macht auch Sinn, da Pickup() einen Channel sucht, der die gewünschte Nummer als Inhalt der Channel-Variable hat.

Svenja
 
VIELEN DANK
Genau das war das Problem.
Durch Global hatte ich jedem Channel diesen Mark gegeben.

Bin natürlich dieser Anleitung nach Vorgegangen.
Jedoch habe ich dann die Zeile für DPickup kopiert.

Zudem kommt noch die Inkonsistenz dazu.

__PICKUPMARK
und
_PICKUPMARK

Es ist natürlich
_PICKUPMARK

Liebe Grüße,
Michael.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,341
Beiträge
2,250,494
Mitglieder
373,997
Neuestes Mitglied
BerndBareth
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.