pickup erzeugt Fehler 603

mad0000

Neuer User
Mitglied seit
18 Mrz 2006
Beiträge
76
Punkte für Reaktionen
0
Punkte
0
Versucht wurde ein Anruf von SIP 33 auf SIP 32, und SIP 31 sollte eigentlich ne "feindliche Übernahme" per pickup machen. Es wurde die 9932 gewählt, callgruop und pickupgroup sind auf 1 gesetzt. Am Telefon (Grandstream GXP-2000) kommt sofort Fehler 603 und die 33 ruft munter weiter bei der 32 an.

in der extension.conf:
Code:
[sip-lokal]
exten => _99.,1,NoOp(Pickup wird versucht)
exten => _99.,n,Pickup(${EXTEN:2})
...
[default]
exten => 31,hint,SIP/31
exten => 32,hint,SIP/32
exten => 33,hint,SIP/33

in der sip.conf:
Code:
[33]
callerid=Martin 2 <33>
host=dynamic
domain=mx.beauty-case.de
nat=yes
type=peer
user=33
secret=secret
mailbox=33
canreinvite=no
callgroup=1
pickupgroup=1 
incominglimit=1
context=sip-lokal
qualify=1000
subscribecontext=default
regexten=33

[31]
callerid=Martin <31>
host=dynamic
domain=mx.beauty-case.de
nat=yes
type=peer
user=31
secret=secret
mailbox=31
canreinvite=no
callgroup=1
pickupgroup=1 
incominglimit=1
context=sip-lokal
qualify=yes
subscribecontext=default
regexten=31
;regexten=666		; When they register, create extension 666

[32]
callerid=Martin mobil <32>
host=dynamic
domain=mx.beauty-case.de
nat=yes
type=peer
user=32
secret=secret
mailbox=31
canreinvite=yes
callgroup=1
pickupgroup=1 
incominglimit=1
subscribecontext=default
qualify=1000
context=sip-lokal
regexten=32

in der CLI:
Code:
    -- Executing NoOp("SIP/33-6974", "die internen SIP-Rufe") in new stack
    -- Executing Dial("SIP/33-6974", "SIP/32") in new stack
    -- Called 32
    -- SIP/32-5ec7 is ringing
    -- Executing NoOp("SIP/31-35b4", "Pickup wird versucht") in new stack
    -- Executing Pickup("SIP/31-35b4", "32") in new stack
  == Spawn extension (sip-lokal, 9932, 2) exited non-zero on 'SIP/31-35b4'

features.conf:
Code:
;
; Sample Parking configuration
;

[general]
parkext => 700			; What extension to dial to park
parkpos => 701-720		; What extensions to park calls on. These needs to be
				; numeric, as Asterisk starts from the start position
				; and increments with one for the next parked call.
context => parkedcalls		; Which context parked calls are in
;parkingtime => 45		; Number of seconds a call can be parked for 
				; (default is 45 seconds)
;transferdigittimeout => 3	; Number of seconds to wait between digits when transfering a call
;courtesytone = beep		; Sound file to play to the parked caller 
				; when someone dials a parked call
;xfersound = beep		; to indicate an attended transfer is complete
;xferfailsound = beeperr	; to indicate a failed transfer
;adsipark = yes			; if you want ADSI parking announcements
;findslot => next		; Continue to the 'next' free parking space. 
				; Defaults to 'first' available
pickupexten = 99		; Configure the pickup extension.  Default is *8
;featuredigittimeout = 500	; Max time (ms) between digits for 
				; feature activation.  Default is 500


[featuremap]
;blindxfer => #1		; Blind transfer
;disconnect => *0		; Disconnect
;automon => *1			; One Touch Record
;atxfer => *2			; Attended transfer

[applicationmap]
; Note that the DYNAMIC_FEATURES channel variable must be set to use the features
; defined here.  The value of DYNAMIC_FEATURES should be the names of the features
; to allow the channel to use separated by '#'.  For example:
;    Set(DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3)
;
;testfeature => #9,callee,Playback,tt-monkeys	;Play tt-monkeys to 
						;callee if #9 was pressed

Hat jemand eine Idee, wo hier der Wurm drin ist? Was habe ich nun wieder übersehen?
 
mad0000 schrieb:
Hat jemand eine Idee, wo hier der Wurm drin ist? Was habe ich nun wieder übersehen?


Mach mal bitte ein SIP Debug, wenn Du das probierst. Vermutlich bekommt das Telefon den 603 Error direkt nach dem INVITE - aber um das genau zu sehen, bräuchte man mal das SIP debug log.
 
nur der peer 31 im debug modus:
Code:
    -- Executing NoCDR("SIP/33-50ae", "") in new stack
May  3 16:42:24 WARNING[27403]: cdr.c:443 ast_cdr_free: CDR on channel 'SIP/33-50ae' not posted
May  3 16:42:24 WARNING[27403]: cdr.c:445 ast_cdr_free: CDR on channel 'SIP/33-50ae' lacks end
    -- Executing NoOp("SIP/33-50ae", "die internen SIP-Rufe") in new stack
    -- Executing Dial("SIP/33-50ae", "SIP/32") in new stack
    -- Called 32
    -- SIP/32-3a96 is ringing
mx*CLI>
<-- SIP read from 192.168.0.74:5060:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.0.74;branch=z9hG4bK92813eb283832fe7
From: "Martin" <sip:[email protected]>;tag=85d48c4e00d48297
To: <sip:[email protected]>
Contact: <sip:[email protected]>
Supported: replaces, timer
Call-ID: [email protected]
CSeq: 48341 INVITE
User-Agent: Grandstream GXP2000 1.1.0.1
Max-Forwards: 70
Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK
Content-Type: application/sdp
Content-Length: 306

v=0
o=31 8000 8000 IN IP4 192.168.0.74
s=SIP Call
c=IN IP4 192.168.0.74
t=0 0
m=audio 5004 RTP/AVP 8 0 4 18 3 101
a=sendrecv
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:3 GSM/8000
a=ptime:20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-11

--- (13 headers 15 lines)---
Using INVITE request as basis request - [email protected]
Sending to 192.168.0.74 : 5060 (non-NAT)
Found peer '31'
Reliably Transmitting (NAT) to 192.168.0.74:5060:
SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/UDP 192.168.0.74;branch=z9hG4bK92813eb283832fe7;received=192.168.0.74
From: "Martin" <sip:[email protected]>;tag=85d48c4e00d48297
To: <sip:[email protected]>;tag=as0ddf6160
Call-ID: [email protected]
CSeq: 48341 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:[email protected]>
Proxy-Authenticate: Digest realm="asterisk", nonce="16737480"
Content-Length: 0


---
Scheduling destruction of call '[email protected]' in 15000 ms
mx*CLI>
<-- SIP read from 192.168.0.74:5060:
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.0.74;branch=z9hG4bK92813eb283832fe7
From: "Martin" <sip:[email protected]>;tag=85d48c4e00d48297
To: <sip:[email protected]>;tag=as0ddf6160
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 48341 ACK
User-Agent: Grandstream GXP2000 1.1.0.1
Max-Forwards: 70
Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK
Content-Length: 0


--- (11 headers 0 lines)---
mx*CLI>
<-- SIP read from 192.168.0.74:5060:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.0.74;branch=z9hG4bKb4f58e7640f73bfe
From: "Martin" <sip:[email protected]>;tag=85d48c4e00d48297
To: <sip:[email protected]>
Contact: <sip:[email protected]>
Supported: replaces, timer
Proxy-Authorization: Digest username="31", realm="asterisk", algorithm=MD5, uri="sip:[email protected]", nonce="16737480", response="7cb5abde1aadb21636e819dcd0e3816e"
Call-ID: [email protected]
CSeq: 48342 INVITE
User-Agent: Grandstream GXP2000 1.1.0.1
Max-Forwards: 70
Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK
Content-Type: application/sdp
Content-Length: 306

v=0
o=31 8000 8001 IN IP4 192.168.0.74
s=SIP Call
c=IN IP4 192.168.0.74
t=0 0
m=audio 5004 RTP/AVP 8 0 4 18 3 101
a=sendrecv
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:3 GSM/8000
a=ptime:20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-11

--- (14 headers 15 lines)---
Using INVITE request as basis request - [email protected]
Sending to 192.168.0.74 : 5060 (NAT)
Found peer '31'
Found RTP audio format 8
Found RTP audio format 0
Found RTP audio format 4
Found RTP audio format 18
Found RTP audio format 3
Found RTP audio format 101
Peer audio RTP is at port 192.168.0.74:5004
Found description format PCMA
Found description format PCMU
Found description format G723
Found description format G729
Found description format GSM
Found description format telephone-event
Capabilities: us - 0x40e (gsm|ulaw|alaw|ilbc), peer - audio=0x10f (g723|gsm|ulaw|alaw|g729)/video=0x0 (nothing), combined - 0xe (gsm|ulaw|alaw)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Looking for 9932 in sip-lokal (domain 192.168.0.7)
list_route: hop: <sip:[email protected]>
Transmitting (NAT) to 192.168.0.74:5060:
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.0.74;branch=z9hG4bKb4f58e7640f73bfe;received=192.168.0.74
From: "Martin" <sip:[email protected]>;tag=85d48c4e00d48297
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 48342 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:[email protected]>
Content-Length: 0


---
    -- Executing NoOp("SIP/31-0306", "Pickup wird versucht") in new stack
    -- Executing Pickup("SIP/31-0306", "32") in new stack
  == Spawn extension (sip-lokal, 9932, 2) exited non-zero on 'SIP/31-0306'
Reliably Transmitting (NAT) to 192.168.0.74:5060:
SIP/2.0 603 Declined
Via: SIP/2.0/UDP 192.168.0.74;branch=z9hG4bKb4f58e7640f73bfe;received=192.168.0.74
From: "Martin" <sip:[email protected]>;tag=85d48c4e00d48297
To: <sip:[email protected]>;tag=as4f6355dc
Call-ID: [email protected]
CSeq: 48342 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:[email protected]>
Content-Length: 0


---
mx*CLI>
<-- SIP read from 192.168.0.74:5060:
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.0.74;branch=z9hG4bKb4f58e7640f73bfe
From: "Martin" <sip:[email protected]>;tag=85d48c4e00d48297
To: <sip:[email protected]>;tag=as4f6355dc
Contact: <sip:[email protected]>
Proxy-Authorization: Digest username="31", realm="asterisk", algorithm=MD5, uri="sip:[email protected]", nonce="16737480", response="e2051a8c60b7d035590ed1b703c25ded"
Call-ID: [email protected]
CSeq: 48342 ACK
User-Agent: Grandstream GXP2000 1.1.0.1
Max-Forwards: 70
Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK
Content-Length: 0


--- (12 headers 0 lines)---
Destroying call '[email protected]'
  == Spawn extension (sip-lokal, 32, 3) exited non-zero on 'SIP/33-50ae'

oder soll ich generell den debug-modus laufen lassen?
 
nein, das reicht schon.

Ich muß das heute abend mal genauer nachlesen.

WIe versuchst Du denn, den Anruf zu übernehmen? Generell bietet ja das GXP2000 die Möglichkeit, ein Pickup durch Drücken einer Kurzwahltaste durchzuführen. da wird eine spezielle Zeichenfolge an den Asterisk geschickt - die ich grade nicht auswendig weiß.
 
Ich seh den Wald vor lauter Bäumen net.

Ich bekomme bei meinen Grandstreams auch den Fehler 603. Habe mir zwar das Thread durchgelesen und ein paar Versuche gemacht, aber irgendwie will das net.

@mad0000: Kannst Du mir noch ne Tipp geben.
 
Ich habe dann eine andere Asterisk-Version genommen, die bristuffed, und es mit PickupChan gemacht:

exten => _**.,1,NoOp(Pickup von ${EXTEN:2} durch ${CALLERIDNUM} der Nummer ...)
exten => _**.,n,PickupChan(SIP/${EXTEN:2})

Ich weiß nicht, ob es mit Pickup in der normalen Asterisk-Version oder Trixbox geht.
 
Ich stehe jetzt vor dem selben Problem ... [gelöst]

habe Asterisk 1.2.18-BRIstuffed-0.3.0-PRE-1y-g + freepbx 2.2.2

Ich habe bei allen extensions dieselbe pickup + callgroup (2)
allerdings wurde wenn z.B. ein Pickup für extension 201 ausgeführt wurde, nicht wirklich erkannt, dass meinetwegen 300 + 201 in der selben Pickupgroup waren.

Nun .... ich habs!
Mit der Installation von Bristuff wurde die original pickup funktion von Asterisk umbenannt in DPickup und Pickup ist eine bristuffed Variante.

D-Pickup steht dann auch für directed_pickuip und dient wohl dem direkten Pickup ohne dass dafür eine Callgroup / Pickupgroup gebraucht wird.
Nachzulesen hier : http://www.voip-info.org/wiki/view/Asterisk+cmd+Pickup

d.h. also für alle freepbx / trixbox user bei denen es nicht geht :

extensions_additional.conf öffnen und nach [app-pickup] suchen.
dann
Code:
[app-pickup]
include => app-pickup-custom
exten => _**.,1,Noop(Attempt to Pickup ${EXTEN:2} by ${CALLERID(num)})
exten => _**.,n,Pickup(${EXTEN:2})

einfach ändern in :
Code:
[app-pickup]
include => app-pickup-custom
exten => _**.,1,Noop(Attempt to Pickup ${EXTEN:2} by ${CALLERID(num)})
exten => _**.,n,DPickup(${EXTEN:2})

amportal restart & freuen ;)
 
kleiner Nachtrag:

Nach der Änderung und "amportal restart" hat die BLF Anzeige meiner Grandstreams nicht mehr funktioniert. Ein reboot der Telefone hat aber geholfen.

Aber jetzt funktionierts auch.

Gruß

Tobias
 
Das das BLF nicht funktioniert - nach einem amportal restart ist klar.

Weil deine Telefone sich nicht neu registriert haben an der asterisk.
Bzw. kein "Subscribe $EXT" für die zu überwachenden Extensions
neu gesendet wurde.

In dem Fall - wie schon von dir gemacht einfach mal das Telefon neu starten :)
 
@ephigenie

Hallo,

kann es sein das die Einstellung für Pickup in der "extensions_additional.conf" nach einem Reboot der Trixbox verloren geht. :(

Ich habe anschließend versucht den Eintrag unter [app-pickup-custom] in der "extensions_custom.conf" vorzunehmen doch leider ohne Erfolg.

Gruß

Tobias
 
Nein - also normalerweise wird das nicht überschrieben bei einem Neustart.

(also bei mir überdauert die Änderung reboots)

Aber u.U. kann es überschrieben werden, wenn du im freepbx etwas änderst, was dazu führt, dass freepbx die Datei neu schreibt ...
 
Ich führe diesen Thread mal fort...

Habe derzeit das gleiche Problem, dass ein Pickup über die BLF zu Fehler 603 führt. Ein Pickup über *8 jedoch funktioniert...

Benutzt wird ein Asterisk 1.2.23 in einer Trixbox 2.2 mit 2.6.9.34.0.2er Kernel und chan_capi 1.0.1.

hier mal die Meldung:
Code:
    -- Executing NoOp("SIP/45-08ac3300", "Rufuebernahme von 46 durch 45") in new stack
    [B]-- Executing Pickup("SIP/45-08ac3300", "(SIP/46)") in new stack[/B]
 Extension Changed 45 new state InUse for Notify User 46
  [B]== Spawn extension (from-internal, **46, 2) exited non-zero on 'SIP/45-08ac3300'[/B]
    -- Executing Macro("SIP/45-08ac3300", "hangupcall") in new stack
 Extension Changed 45 new state InUse for Notify User 46
    -- Executing ResetCDR("SIP/45-08ac3300", "w") in new stack
    -- Executing NoCDR("SIP/45-08ac3300", "") in new stack
    -- Executing GotoIf("SIP/45-08ac3300", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/45-08ac3300", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing GotoIf("SIP/45-08ac3300", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing Hangup("SIP/45-08ac3300", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/45-08ac3300' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/45-08ac3300'

sip.conf:
Code:
[45]
type=friend
secret=versatel45
record_out=Never
record_in=Never
qualify=yes
port=5060
pickupgroup=1
nat=no
;mailbox=45@device
host=dynamic
dtmfmode=rfc2833
disallow=
dial=SIP/45
context=from-internal
canreinvite=no
callgroup=1
callerid=Versatel45 <45>
allow=
accountcode=
subscribecontext=default

[46]
type=friend
secret=versatel46
record_out=Never
record_in=Never
qualify=yes
port=5060
pickupgroup=1
nat=no
;mailbox=46@device
host=dynamic
dtmfmode=rfc2833
disallow=
dial=SIP/46
context=from-internal
canreinvite=no
callgroup=1
callerid=Versatel46 <46>
allow=
accountcode=
subscribecontext=default

in der features.conf habe ich auch pickupexten => **

Denkfehler oder Bug??
 
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.