Howto:External UC

From innovaphone wiki
Jump to navigation Jump to search

The External UC-server logs on innovaphone UC-object with TSIP?

Yes, TSIP is the recommended transport protocol, since message bodies can get very huge.

   REGISTER sip:172.16.16.124 SIP/2.0
   Via: SIP/2.0/tcp 172.16.16.116:5060;branch=z9hG4bK.A1A4E140795F41A6CCD0D7A01E42B249
   From: <sip:ext-uc@172.16.16.124>;tag=3F0357BED5B249268752F09636F608F6
   To: <sip:ext-uc@172.16.16.124>
   Call-ID: A1CFA286846C489F3206C4B444ECD75A
   CSeq: 2 REGISTER
   Contact: <sip:ext-uc@172.16.16.116;maddr=172.16.16.116;transport=tcp>;proxy=replace
   Authorization: digest username="ext-uc", realm="172.16.16.124", nonce="5ffb6e08e909d311", uri="sip:ext-uc@172.16.16.124", response="3ff3cd096b1503175cd3a6a94efe4e1e", algorithm=md5, cnonce="36F3C3FE023E429A81BCBB92B07D17FE", qop="auth", nc=00000002
   Max-Forwards: 70
   Expires: 300
   User-Agent: External UCServer
   Content-Length: 0
   
   SIP/2.0 200 OK
   Via: SIP/2.0/tcp 172.16.16.116:5060;branch=z9hG4bK.A1A4E140795F41A6CCD0D7A01E42B249
   From: <sip:ext-uc@172.16.16.124>;tag=3F0357BED5B249268752F09636F608F6
   To: <sip:ext-uc@172.16.16.124>;tag=2747928632
   Call-ID: A1CFA286846C489F3206C4B444ECD75A
   CSeq: 2 REGISTER
   Contact: <sip:ext-uc@172.16.16.116;maddr=172.16.16.116;transport=tcp>;expires=120
   Allow: REGISTER,SUBSCRIBE,NOTIFY,INVITE,ACK,PRACK,OPTIONS,BYE,CANCEL,REFER,INFO,UPDATE,PUBLISH
   Content-Length: 0
   Date: Wed, 07 Dec 2011 14:52:33 GMT
   Expires: 120
   Server: (innovaphone IP800/10.00 dvl [ta.c-xx/90735/110])
   Allow-Events: reg,dialog,message-summary,presence
   Presence-State: register-action="added"


Any special settings required?

As soon as the External-UC has registered, the PBX itself will send a SUBSCRIBE(presence) for a "resource-list". The destination URI can be configured at the PBX object (type External UC). The PBX then expects to get a NOTIFY(presence) containing the presence information of all members of the resource-list.

   SUBSCRIBE sip:allusers@ip800.innovaphone.compat SIP/2.0
   Via: SIP/2.0/TCP 172.16.16.124:5060;branch=z9hG4bK-C8985722;rport
   From: <sip:anonymous@172.16.16.124>;tag=2747928634
   To: <sip:allusers@ip800.innovaphone.compat>
   Call-ID: ab9f9fd3e909d311a8d70090330608df@172.16.16.124
   CSeq: 2000 SUBSCRIBE
   Contact: <sip:172.16.16.124:5060;transport=TCP>
   Accept: application/pidf+xml
   Accept: application/rlmi+xml, multipart/related
   Content-Length: 0
   Expires: 120
   Max-Forwards: 70
   Supported: eventlist
   User-Agent: (innovaphone IP800/10.00 dvl [ta.c-xx/90735/110])
   Event: presence
   
   SIP/2.0 200 OK
   Via: SIP/2.0/TCP 172.16.16.124:5060;branch=z9hG4bK-C8985722;rport;received=172.16.16.116;rport=5060
   From: <sip:anonymous@172.16.16.124>;tag=2747928634
   To: <sip:allusers@ip800.innovaphone.compat>;tag=845C3F9A535C4375D0C92C8CF3841506
   Call-ID: ab9f9fd3e909d311a8d70090330608df@172.16.16.124
   CSeq: 2000 SUBSCRIBE
   Contact: <sip:ext-uc@172.16.16.116:5060;maddr=172.16.16.116;transport=tcp>;proxy=replace
   Expires: 120
   Content-Length: 0
   
   NOTIFY sip:172.16.16.124:5060;transport=TCP SIP/2.0
   Via: SIP/2.0/tcp 172.16.16.116:5060;branch=z9hG4bK.0A86BAD4F3E14689F1D311ACB3B4F054
   From: <sip:allusers@ip800.innovaphone.compat>;tag=845C3F9A535C4375D0C92C8CF3841506
   To: <sip:anonymous@172.16.16.124>;tag=2747928634
   Call-ID: ab9f9fd3e909d311a8d70090330608df@172.16.16.124
   CSeq: 2001 NOTIFY
   Contact: <sip:ext-uc@172.16.16.116;maddr=172.16.16.116;transport=tcp>;proxy=replace
   Proxy-Authorization: digest username="ext-uc", realm="172.16.16.124", nonce="5ffb6e08e909d311", uri="sip:allusers@ip800.innovaphone.compat", response="e5cf111a1dcfd776652a4101200f2557", algorithm=md5, cnonce="AF5AA3E25A4846B2A60E9DA8C938982E", qop="auth", nc=000007d1
   Content-Type: multipart/related; type="application/rlmi+xml"; start="<resourcelist>"; boundary="7A260173CB04DA4D8663902713EB6AD2"
   Max-Forwards: 70
   Require: eventlist
   Event: presence
   User-Agent: External UCServer
   Content-Length:  1573

   --7A260173CB04DA4D8663902713EB6AD2
   Content-Transfer-Encoding: binary
   Content-ID: <resourcelist>
   Content-Type: application/rlmi+xml;charset="UTF-8"
   <?xml version="1.0" encoding="UTF-8"?>
   <list xmlns="urn:ietf:params:xml:ns:rlmi" uri="sip:allusers@ip800.innovaphone.compat" version="0" fullState="true">
       <resource uri="sip:ip241@ip800.innovaphone.compat">
           <name>ip241</name>
           <instance id="1" state="active" cid="55BB2A05C4C76943B8E8E6D7DD179144"/>
       </resource>
       <resource uri="sip:xlite@ip800.innovaphone.compat">
           <name>Xlite</name>
           <instance id="1" state="active" cid="C8E7AC60CDE9C044AF501640B8C70283"/>
       </resource>
   </list>

   --7A260173CB04DA4D8663902713EB6AD2
   Content-Transfer-Encoding: binary
   Content-ID: <55BB2A05C4C76943B8E8E6D7DD179144>
   Content-Type: application/pidf+xml
   <?xml version="1.0" encoding="UTF-8"?>
   <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" entity="sip:ip241@ip800.innovaphone.compat">
       <tuple id="t1">
           <status>
               <basic>closed</basic>
           </status>
       </tuple>
   </presence>

   --7A260173CB04DA4D8663902713EB6AD2
   Content-Transfer-Encoding: binary
   Content-ID: <C8E7AC60CDE9C044AF501640B8C70283>
   Content-Type: application/pidf+xml
   <?xml version="1.0" encoding="UTF-8"?>
   <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" entity="sip:xlite@ip800.innovaphone.compat">
       <tuple id="t1">
           <status>
               <basic>closed</basic>
           </status>
       </tuple>
   </presence>

   --7A260173CB04DA4D8663902713EB6AD2--


   SIP/2.0 200 OK
   Via: SIP/2.0/tcp 172.16.16.116:5060;branch=z9hG4bK.0A86BAD4F3E14689F1D311ACB3B4F054
   From: <sip:allusers@ip800.innovaphone.compat>;tag=845C3F9A535C4375D0C92C8CF3841506
   To: <sip:anonymous@172.16.16.124>;tag=2747928634
   Call-ID: ab9f9fd3e909d311a8d70090330608df@172.16.16.124
   CSeq: 2001 NOTIFY
   Content-Length: 0
   Server: (innovaphone IP800/10.00 dvl [ta.c-xx/90735/110])

What is the format for sending Presence server from External UC-server to the UC-object?

RFC-4480 "RPID: Rich Presence Extensions to the Presence Information Data Format (PIDF)"

  <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" entity="sip:xlite@ip800.innovaphone.compat">
      <tuple id="t1">
          <status>
              <basic>closed</basic>
          </status>
      </tuple>
  </presence>

Will innovaphone send idle/busy as presence info to External UC-server?

A telephone or myPBX client may be used by the user to set presence activity or presence note. PUBLISH(presence) is send from innovaphone PBX to the External UC then.

What is the format for sending idle/busy presence info to external presence server?

RFC-4480 "RPID: Rich Presence Extensions to the Presence Information Data Format (PIDF)"

Does the innovaphone PBX send presence info to the External UC?

Yes. the innovaphone PBX forwards presence updates (PUBLISH request) from user equipment (myPBX client or telephone) to the External UC which acts as presence store.

What is the format for sending local enabled presence info to external presence server?

   PUBLISH sip:170@172.16.0.10;user=phone SIP/2.0
   Via: SIP/2.0/TCP 172.16.0.10:5060;branch=z9hG4bK-23761840;rport
   From: "User #1" <sip:user1@example.com>;tag=2008524315
   To: sip:user1@example.com
   Call-ID: 45297152e909d311ad76009033290005@172.16.0.10
   CSeq: 7002768 PUBLISH
   Contact: <sip:user1@172.16.0.10:5060;transport=TCP>
   Content-Length: 351
   Content-Type: application/pidf+xml
   Expires: 4294967295
   Max-Forwards: 70
   Event: presence
   
   <?xml version="1.0"?>
   <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" entity="sip:user1@example.com">
       <tuple id="1">
           <contact>im:</contact>
       </tuple>
       <dm:person>
           <rpid:activities>
               <rpid:busy/>
           </rpid:activities>
           <dm:note>Büsÿ</dm:note>
       </dm:person>
   </presence>