Howto:External UC: Difference between revisions
Jump to navigation
Jump to search
Line 34: | Line 34: | ||
As soon as the External-UC has registered, the PBX itself will send a SUBSCRIBE(presence) for a "resource-list". | 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 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 | 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 | SUBSCRIBE sip:allusers@ip800.innovaphone.compat SIP/2.0 |
Revision as of 14:24, 19 December 2011
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)"