Content
Call pick-up is a feature of snom VoIP phones that allows one party to answer a ringing call to one of the monitored extensions.
Example:
snom phones offer various methods to perform call pick-up from the ringing extension:
This method requires the following elements within the NOTIFY message body:
The following example NOTIFY using PBXnSIP PBX enables the phone to offer call pick-up:
Received from ...: NOTIFY sip:Ext 1 ... Via: ... From: <sip:Ext 2>... To: <sip:Ext 1>... Call-ID: 3c26702869ae-vggafzgfyqmq CSeq: 7267 NOTIFY Max-Forwards: 70 Contact: ... Event: dialog Subscription-State: active;expires=150 Content-Type: application/dialog-info+xml Content-Length: 444 <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="6" state="full" entity="sip:Ext 2"> <dialog id="3c323f67d842-m2q5her17ncc" call-id="3c323f67d842-m2q5her17ncc" direction="recipient"> <state>early</state> <remote> <identity>sip:Ext C</identity> <target uri="sip:Ext C"/> </remote> <local> <identity>sip:Ext 2</identity> <target uri="sip:Ext 2"/> </local> </dialog> </dialog-info> ...
The status of the LED assigned to the free function "Extension" key is blinking (all snom3x0).
Additionally - on snom360 and snom370 - the "Calls" screen appears automatically (if callpickup_dialoginfo was set to "ON") and displays the remote and local target uri ("Ext C" --> "Ext 2"). For further details see the "Calls" screen description.
The actual call pick-up can now be performed by
A Call pick-up INVITE to the remote-target uri (Ext C) will be sent to the PBX. ONLY the call-id triggers the phone to add the INVITE "Replaces" header and inserts the "call-id". The PBX should use the call ID from the "Replaces" header to replace the former call destination "Ext 2" by "Ext 1's" extension: (compare this description).
Sent to ...: INVITE sip:Ext C SIP/2.0 Via: ... From: <sip:Ext 1>... To: <sip:Ext C> Call-ID: ... CSeq: 1 INVITE Max-Forwards: 70 Contact: <sip:Ext 1... Replaces: 3c323f67d842-m2q5her17ncc P-Key-Flags: resolution="31x13", keys="4" User-Agent: snom370/7.1.33 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: 3600;refresher=uas Min-SE: 90 Content-Type: application/sdp Content-Length: 450 ...
This method requires the following elements within the NOTIFY message body:
Note: The absence of <local> and <remote> elements in the NOTIFY body will only support the BLF feature.
The following example NOTIFY using PATCHED Asterisk PBX 1.4.18 enables the phone to offer call pick-up:
Received from ...: NOTIFY sip:Ext 1... SIP/2.0 Via: ... From: <sip:Ext 2... To: <sip:Ext 1>... Contact: ... Call-ID: 3c2670243c6f-7c6lut8mw5if CSeq: 168 NOTIFY User-Agent: Asterisk PBX Max-Forwards: 70 Event: dialog Content-Type: application/dialog-info+xml Subscription-State: active Content-Length: 411 <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="66" state="full" entity="sip:11@sip.vpbx.de"> <dialog id="11" direction="recipient"> <local> <identity display="11">11</identity> <target uri="sip:Ext 1"/> </local> <remote> <identity display="">sip:No Ext</identity> <target uri="sip:*8Ext 2"/> </remote> <state>early</state> </dialog> </dialog-info> ...
The status of the LED assigned to the free function "Extension" key is blinking (all snom3x0).
Additionally - on snom360 and snom370 - the "Calls" screen appears automatically and displays the remote and local target uri ("Ext C" --> "Ext 2"). For further details see the "Calls" screen description.
The actual call pick-up can now be performed by
Since the call-id is absent no "Replaces" header will be inserted. Instead a call pick-up INVITE to the remote-target uri (*8Ext 2) will be sent to the PBX. The prefix "*8" (star code 8) instructs the PBX to perform the call pick-up by connecting "Ext C"'s call to "Ext 1":
Sent to ...: INVITE sip:*8Ext 2 SIP/2.0 Via: ... From: <sip:Ext 1>... To: <sip:No Ext> Call-ID: 3c27b991342c-leg601znjcrs CSeq: 1 INVITE Max-Forwards: 70 Contact: <sip:Ext 1... P-Key-Flags: resolution="31x13", keys="4" User-Agent: snom360/Test 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: 3600;refresher=uas Min-SE: 90 Content-Type: application/sdp Content-Length: 456 ...
The identity display of the <remote> tag will be used to refresh the caller ID of "Ext C" in the phone's display.
Note: The absence of <local> and <remote> tags in the NOTIFY body will only trigger the LED (BLF).
This method requires:
The following example NOTIFY is sent by an UNPATCHED Asterisk PBX, 1.4.6):
Received from ... NOTIFY sip:Ext 1 SIP/2.0 Via: ... From: <sip:Ext 2>;tag=as7c91f908 To: <sip:Ext 1>;tag=65kiy8ma5e Contact: <sip:Ext 2> Call-ID: 3c26702d177e-v8ee1tww0yeq CSeq: 271 NOTIFY User-Agent: Asterisk PBX Max-Forwards: 70 Event: dialog Content-Type: application/dialog-info+xml Subscription-State: active Content-Length: 222 <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="169" state="full" entity="sip:Ext 2"> <dialog id="mal" direction="recipient"> <state>early</state> </dialog> </dialog-info>
The absence of <local> and <remote> elements in the NOTIFY body DOES NOT enable the phone to offer call pickup but only permit the BLF feature, i.e.the LED assigned to the free function "BLF" key is blinking (all snom3x0). Note: There will be no "Calls" window displayed neither!
However, a call pick-up on the PBX can be initiated by sending an INVITE to <callpickup-code>Ext 2. The prefix <callpickup-code> instructs the PBX to perform the call pick-up by connecting "Ext C"'s call to "Ext 1". After pressing the free function "BLF" key the following INVITE is sent, if "*8" has been specified as <callpickup-code>:
Sent to ... INVITE sip:*8Ext 2 SIP/2.0 Via: ... From: <sip:Ext 1>;tag=iztjfxkrxm To: <sip:*8Ext 2> Call-ID: 3c33c683b335-sqo80sv564qw CSeq: 1 INVITE Max-Forwards: 70 Contact: <sip:Ext 1>;flow-id=1 P-Key-Flags: resolution="31x13", keys="4" User-Agent: snom370/7.1.33 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, callerid Session-Expires: 3600;refresher=uas Min-SE: 90 Content-Type: application/sdp Content-Length: 471 ...
Further Information
Related articles