Howto:Busy lamp field (partner keys) with SIP phones: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
Nwe (talk | contribs)
 
(12 intermediate revisions by one other user not shown)
Line 7: Line 7:


<!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results -->
<!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results -->
==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==
==More Information==


===Problem Details===
===System Requirements===
 
===Configuration===
 
In order make partner keys working, the PBX must notify the device about current state of ongoing calls.<br>
To achieve that, "Group Indications" must be activated on the "watching" user for the "watched group":<br>
[[Image:Pbx_user_group_indications.gif|pbx_user_group_indications.gif/]]
 
The NOTIFY request is used to carry an XML formatted dialog info.<br>
Endpoints can, but need not to subscribe for the "Dialog Event Package" (RFC-4235).<br>
If "Group Indications" are activated on a PBX user, but the user's endpoint has not subscribed for the dialog event package, the user's endpoint will receive unsolicited NOTIFYs anyway.
 
===Known Problems===
---
 
===Example===
 
The watched endpoint (207) receives a call from 211.<br>
The watcher gets a NOTIFY request with a dialog info about the call in "early" state:


    SUBSCRIBE sip:211@172.16.16.180;user=phone SIP/2.0
NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0
    Via: SIP/2.0/UDP 172.16.16.34:1346;branch=z9hG4bK-ayuayllwo4ql;rport
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BD;rport
    From: <sip:snom@172.16.16.180>;tag=mynrfel9vl
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
    To: <sip:211@172.16.16.180;user=phone>
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
    Call-ID: dedccb476ac9-47x5gchyicsw@snomSoft-000413FFFFFF
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
    CSeq: 1 SUBSCRIBE
CSeq: 18 NOTIFY
    Max-Forwards: 70
Contact: <sip:207@172.16.16.180;user=phone>
    Contact: <sip:snom@172.16.16.34:1346;line=ojn9itpa>;flow-id=1
Content-Length: 343
    Event: dialog
Content-Type: application/dialog-info+xml
    Accept: application/dialog-info+xml
Max-Forwards: 70
    Expires: 3600
Event: dialog
    Content-Length: 0
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
SIP/2.0 200 Ok
    Via: SIP/2.0/UDP 172.16.16.34:1346;branch=z9hG4bK-ayuayllwo4ql;rport
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BD;rport=5060
    From: <sip:snom@172.16.16.180>;tag=mynrfel9vl
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
    To: <sip:211@172.16.16.180;user=phone>;tag=2870352540
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
    Call-ID: dedccb476ac9-47x5gchyicsw@snomSoft-000413FFFFFF
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
    CSeq: 1 SUBSCRIBE
CSeq: 18 NOTIFY
    Content-Length: 0
Content-Length: 0
    Expires: 360
    Server: (innovaphone IP3000/6.00 dvl-sr2 [06-60913.tac/322/106])


While in state "early" the watcher has the chance to pickup this "early" call.<br>
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:1346;line=ojn9itpa SIP/2.0
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-31170C90;rport
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BF;rport
    From: <sip:207@172.16.16.180;user=phone>;tag=2870352458
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
    To: <sip:snom@172.16.16.180>;tag=kxndmxevob
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
    Call-ID: 19dbcb47a4e9-2wgz8leeajhj@snomSoft-000413FFFFFF
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
    CSeq: 261 NOTIFY
CSeq: 20 NOTIFY
    Contact: <sip:207@172.16.16.180;user=phone>
Contact: <sip:207@172.16.16.180;user=phone>
    Content-Length: 348
Content-Length: 349
    Content-Type: application/dialog-info+xml
Content-Type: application/dialog-info+xml
    Max-Forwards: 70
Max-Forwards: 70
    Event: dialog
Event: dialog
    Subscription-State: active
Subscription-State: active
   
   
    <?xml version="1.0"?>
<?xml version="1.0"?>
    <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" state="full" version="5">
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" state="full" version="11">
        <dialog id="1" direction="initiator" call-id="19990635e909d3118b210090330200d6">
    <dialog id="1" direction="initiator" call-id="e1b50917e909d311824d0090330200d6">
            <state>proceeding</state>
        '''<state>proceeding</state>'''
            <local>
        <local>
                <identity>sip:207@172.16.16.180</identity>
            <identity>sip:207@172.16.16.180</identity>
            </local>
        </local>
            <remote>
        <remote>
                <identity>sip:211@172.16.16.180</identity>
            <identity>sip:211@172.16.16.180</identity>
            </remote>
        </remote>
        </dialog>
    </dialog>
    </dialog-info>
</dialog-info>
   
   
   
   
    SIP/2.0 200 Ok
SIP/2.0 200 Ok
    Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-31170C90;rport=5060
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=2870352458
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
    To: <sip:snom@172.16.16.180>;tag=kxndmxevob
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
    Call-ID: 19dbcb47a4e9-2wgz8leeajhj@snomSoft-000413FFFFFF
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
    CSeq: 261 NOTIFY
CSeq: 20 NOTIFY
    Content-Length: 0
Content-Length: 0


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


    NOTIFY sip:snom@172.16.16.34:1346;line=ojn9itpa SIP/2.0
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-31170C92;rport
Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728C1;rport
    From: <sip:207@172.16.16.180;user=phone>;tag=2870352458
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
    To: <sip:snom@172.16.16.180>;tag=kxndmxevob
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
    Call-ID: 19dbcb47a4e9-2wgz8leeajhj@snomSoft-000413FFFFFF
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
    CSeq: 263 NOTIFY
CSeq: 22 NOTIFY
    Contact: <sip:207@172.16.16.180;user=phone>
Contact: <sip:207@172.16.16.180;user=phone>
    Content-Length: 348
Content-Length: 349
    Content-Type: application/dialog-info+xml
Content-Type: application/dialog-info+xml
    Max-Forwards: 70
Max-Forwards: 70
    Event: dialog
Event: dialog
    Subscription-State: active
Subscription-State: active
   
   
    <?xml version="1.0"?>
<?xml version="1.0"?>
    <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" state="full" version="6">
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" state="full" version="12">
        <dialog id="1" direction="initiator" call-id="19990635e909d3118b210090330200d6">
    <dialog id="1" direction="initiator" call-id="e1b50917e909d311824d0090330200d6">
            <state>terminated</state>
        '''<state>terminated</state>'''
            <local>
        <local>
                <identity>sip:207@172.16.16.180</identity>
            <identity>sip:207@172.16.16.180</identity>
            </local>
        </local>
            <remote>
        <remote>
                <identity>sip:211@172.16.16.180</identity>
            <identity>sip:211@172.16.16.180</identity>
            </remote>
        </remote>
        </dialog>
    </dialog>
    </dialog-info>
</dialog-info>
   
   
   
   
    SIP/2.0 200 Ok
SIP/2.0 200 Ok
    Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-31170C92;rport=5060
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=2870352458
From: <sip:207@172.16.16.180;user=phone>;tag=2870350033
    To: <sip:snom@172.16.16.180>;tag=kxndmxevob
To: <sip:snom@172.16.16.180>;tag=bl4qd8azu6
    Call-ID: 19dbcb47a4e9-2wgz8leeajhj@snomSoft-000413FFFFFF
Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF
    CSeq: 263 NOTIFY
CSeq: 22 NOTIFY
    Content-Length: 0
Content-Length: 0
 
===System Requirements===
===Installation===
===Configuration===
===Known Problems===


<!-- == Related Articles == -->
<!-- == Related Articles == -->


[[Category:Howto|{{PAGENAME}}]]
[[Category:Howto|{{PAGENAME}}]]

Latest revision as of 11:12, 12 June 2025

Applies To

This information applies to

  • innovaphone PBX, v6
  • 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 working, the PBX must notify the device about current state of ongoing calls.
To achieve that, "Group Indications" must be activated on the "watching" user for the "watched group":
pbx_user_group_indications.gif/

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).
If "Group Indications" are activated on a PBX user, but the user's endpoint has not subscribed for the dialog event package, the user's endpoint will receive unsolicited NOTIFYs anyway.

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-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-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