Hi,
I’ve used various patches with asterisk 1.4 to have support for call pickup and notification with good results.
Now I’m trying vanilla 1.6.2 with its official support for “dialog-info+xml” notifications with no success. This is what i’m doing:
- Phone A has a key configured as type “extension” pointing to Phone B.
- In sip.conf I added notifycid=ignore-context
- Phone A and B and C are in the same callgroup and pickupgroup
- Phone A and B and C are in the same context
Phone C calls Phone B and asterisk generates a notification for phone A:
<?xml version="1.0"?> sip:35501@10.40.23.179 sip:35505@10.40.23.179 earlyWith this notification, Phone A shows on the screen that Phone C is calling Phone B, and the function key blinks. If one presses the blinking function key, the phone generates an Invite with replaces, to try to pickup the call:
INVITE sip:35501@10.40.23.179 SIP/2.0
Via: SIP/2.0/UDP 10.40.24.175:5060;branch=z9hG4bK-qoz3zjhmyfcw;rport
From: “Lab 4” sip:35504@10.40.23.179;tag=o28fq65rfu
To: “Lab 1” sip:35501@10.40.23.179
Call-ID: 3c2672b3f35a-dpd0zv11yegl
CSeq: 1 INVITE
Max-Forwards: 70
Contact: sip:35504@10.40.24.175:5060;flow-id=1
Replaces: pickup-3c26701519b8-5xxapzoav2u4
P-Key-Flags: keys="3"
User-Agent: snom320/7.1.39
Accept: application/sdp
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, SUBSCRIBE, PRACK, MESSAGE, INFO
Allow-Events: talk, hold, refer, call-info
Supported: timer, 100rel, replaces, from-change
Session-Expires: 600;refresher=uas
Min-SE: 90
Content-Type: application/sdp
Content-Length: 368
Then asterisk receives the pickup request:
[Feb 11 10:44:13] DEBUG[4659] chan_sip.c: Invite/replaces: Will use Replace-Call-ID : pickup-3c26701519b8-5xxapzoav2u4 Fromtag: Totag:
[Feb 11 10:44:13] NOTICE[4659] chan_sip.c: Trying to pick up 35505@RedEdelca
[Feb 11 10:44:13] VERBOSE[4659] chan_sip.c: Sending to 10.40.24.175 : 5060 (no NAT)
[Feb 11 10:44:13] DEBUG[4659] chan_sip.c: Initializing initreq for method INVITE - callid 3c2672b3f35a-dpd0zv11yegl
[Feb 11 10:44:13] VERBOSE[4659] chan_sip.c: Using INVITE request as basis request - 3c2672b3f35a-dpd0zv11yegl
[…]
[Feb 11 10:44:13] DEBUG[4659] chan_sip.c: INVITE part of call transfer. Replaces [pickup-3c26701519b8-5xxapzoav2u4]
[Feb 11 10:44:13] DEBUG[4659] chan_sip.c: Invite/replaces: Will use Replace-Call-ID : pickup-3c26701519b8-5xxapzoav2u4 Fromtag: Totag:
[Feb 11 10:44:13] NOTICE[4659] chan_sip.c: Trying to pick up 35505@RedEdelca
[Feb 11 10:44:13] VERBOSE[4659] chan_sip.c: Sending to 10.40.24.175 : 5060 (no NAT)
[Feb 11 10:44:13] DEBUG[4659] chan_sip.c: Initializing initreq for method INVITE - callid 3c2672b3f35a-dpd0zv11yegl
[Feb 11 10:44:13] VERBOSE[4659] chan_sip.c: Using INVITE request as basis request - 3c2672b3f35a-dpd0zv11yegl
[…]
[Feb 11 10:44:13] DEBUG[4659] chan_sip.c: About to call Pickup(35505@PICKUPMARK)
[Feb 11 10:44:13] DEBUG[4649] devicestate.c: Changing state for SIP/35504 - state 2 (In use)
[Feb 11 10:44:13] DEBUG[4649] devicestate.c: device ‘SIP/35504’ state ‘2’
[Feb 11 10:44:13] NOTICE[4659] app_directed_pickup.c: No target channel found for 35505.
[Feb 11 10:44:13] DEBUG[4659] channel.c: Hanging up channel ‘SIP/35504-0000000f’
[Feb 11 10:44:13] DEBUG[4659] chan_sip.c: Hangup call SIP/35504-0000000f, SIP callid 3c2672b3f35a-dpd0zv11yegl
After this obviously phone A hasn’t picked up the call, and Phone B keeps ringing.
Did I miss something in the dialplan or is it a bug?