Howto13r3:Busy lamp field (partner keys) with SIP phone

From innovaphone wiki
Jump to navigation Jump to search

Applies To

This information applies to

  • innovaphone PBX, v13r3
  • SIP phones supporting "Dialog Package" according to RFC-4235


Introduction

Partner keys are primarily used to monitor the call state of an associated partner. Usually partner keys fulfill the following functions:

  • monitoring partner: Indicating different call-related states: Idle, Alerting, Busy.
  • speed dial: Pressing the partner key while the partner is in idle state will initiate a call to the partner.
  • call pickup: Pressing the partner key while the partner is in alerting state will initiate a call pickup of the alerting call.

More Information

System Requirements

Configuration

In order make partner keys work, the PBX must notify the device about current state of ongoing calls.
To achieve that, the monitored user must share his Visibility information to the other users requesting his activity state. The option to be shared at least must be:

Calls (Call with number if you want also to share the number you are having a conversation with)

This can be configured globally by the administrator, or the user can also manually share Visibility information to single users, group/s or domain/s using the Profile app, in the Privacy settings


PrivacymyAppsblf.PNG

The NOTIFY request is used to carry an XML formatted dialog info.
Endpoints can, but need not to subscribe for the "Dialog Event Package" (RFC-4235).


Known Problems

---

Example

The watched endpoint (207) receives a call from 211.
The watcher gets a NOTIFY request with a dialog info about the call in "early" state:

NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BD;rport
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
CSeq: 18 NOTIFY
Contact: <sip:207@172.16.16.180;user=phone>
Content-Length: 343
Content-Type: application/dialog-info+xml
Max-Forwards: 70
Event: dialog
Subscription-State: active

<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" state="full" version="9">
    <dialog id="1" direction="initiator" call-id="e1b50917e909d311824d0090330200d6">
        <state>early</state>
        <local>
            <identity>sip:207@172.16.16.180</identity>
        </local>
        <remote>
            <identity>sip:211@172.16.16.180</identity>
        </remote>
    </dialog>
</dialog-info>


SIP/2.0 200 Ok
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BD;rport=5060
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
CSeq: 18 NOTIFY
Content-Length: 0

While in state "early" the watcher has the chance to pickup this "early" call.
After the call has been accepted by the watched endpoint (207), the former dialog info is cleared and a new dialog info is send to the watcher about the call in state "proceeding":

NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BE;rport
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
CSeq: 19 NOTIFY
Contact: <sip:207@172.16.16.180;user=phone>
Content-Length: 349
Content-Type: application/dialog-info+xml
Max-Forwards: 70
Event: dialog
Subscription-State: active

<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" state="full" version="10">
    <dialog id="1" direction="initiator" call-id="e1b50917e909d311824d0090330200d6">
        <state>terminated</state>
        <local>
            <identity>sip:207@172.16.16.180</identity>
        </local>
        <remote>
            <identity>sip:211@172.16.16.180</identity>
        </remote>
    </dialog>
</dialog-info>


NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BF;rport
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
CSeq: 20 NOTIFY
Contact: <sip:207@172.16.16.180;user=phone>
Content-Length: 349
Content-Type: application/dialog-info+xml
Max-Forwards: 70
Event: dialog
Subscription-State: active

<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" state="full" version="11">
    <dialog id="1" direction="initiator" call-id="e1b50917e909d311824d0090330200d6">
        <state>proceeding</state>
        <local>
            <identity>sip:207@172.16.16.180</identity>
        </local>
        <remote>
            <identity>sip:211@172.16.16.180</identity>
        </remote>
    </dialog>
</dialog-info>


SIP/2.0 200 Ok
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BE;rport=5060
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
CSeq: 19 NOTIFY
Content-Length: 0


SIP/2.0 200 Ok
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BF;rport=5060
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
CSeq: 20 NOTIFY
Content-Length: 0

After the call has been terminated, the dialog info is cleared:

NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728C1;rport
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
CSeq: 22 NOTIFY
Contact: <sip:207@172.16.16.180;user=phone>
Content-Length: 349
Content-Type: application/dialog-info+xml
Max-Forwards: 70
Event: dialog
Subscription-State: active

<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" state="full" version="12">
    <dialog id="1" direction="initiator" call-id="e1b50917e909d311824d0090330200d6">
        <state>terminated</state>
        <local>
            <identity>sip:207@172.16.16.180</identity>
        </local>
        <remote>
            <identity>sip:211@172.16.16.180</identity>
        </remote>
    </dialog>
</dialog-info>


SIP/2.0 200 Ok
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728C1;rport=5060
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
CSeq: 22 NOTIFY
Content-Length: 0