According to PIDF RFC there MUST be <basic> with value "open" or "closed". I guess, that this PUBLISH request should be rejected with non-2xx response. Is it?
BTW, PA is not able to handle "partial PIDF" - you have to use PIDF.
Presence status can be stored into database if you set "use_db" module parameter to 1.
You can publish document like this:
<?xml version="1.0" encoding="UTF-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" entity="pres:venkat@10.187.83.218">
<tuple id="000s3"> <status> <basic>open</basic> </status> <contact>venkat@10.187.83.218</contact> </tuple>
<dm:person id="p1"> rpid:activities <busy/> </rpid:activities> </dm:person>
</presence>
I'm not sure if it is strictly according to RPID specification, but might be. Much simpler it could be like this:
<?xml version="1.0" encoding="UTF-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" entity="pres:venkat@10.187.83.218">
<tuple id="000s3"> <status> <basic>open</basic> </status> <contact>venkat@10.187.83.218</contact> <note>busy</note> </tuple>
</presence>
Vaclav
On Mon, Jan 15, 2007 at 01:34:04PM +0530, raj gopal wrote:
Thanks for reply,
I am sending PUBLISH method with following simplified PIDF content.
<pidf-part:presence xmlns:pidf-part="urn:ietf:params:xml:ns:pidf-partial" xmlns="urn:ietf:params:xml:ns:pidf" xmlns:et="urn:ietf:params:xml:ns:pidf:rpid-tuple" xmlns:ep="urn:ietf:params:xml:ns:pidf:status:rpid-status" xmlns:dc="urn:ietf:params:xml:ns:pidf:status:devcaps" entity=" venkat@10.187.83.218" version="1" state="full">
<tuple id="000s3"> <status> <basic>busy</basic> </status> <contact>venkat@10.187.83.218</contact> </tuple>
But, server sends following NOTIFY msg
<?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf" entity=" pres:venkat@10.187.83.218">
<tuple id="0xb626fba4x52c779c5x45ab1b6d"> <status><basic>open</basic></status> <contact priority="0.00">sip:10.187.83.222:5060</contact> </tuple> </presence>
The server sends either closed/open. But it dont send busy status.
Am i doing something wrong? is status is stored in database??
-venkat
On 1/15/07, Vaclav Kubart vaclav.kubart@iptel.org wrote:
Hello, SER understands only basic status what means open/closed, but it allows clients to publish other info in extension elements (look into PIDF specification - RFC 3863). Such elements are not parsed by SER, but they are sent in NOTIFY to watchers.
If you don't want to use PIDF extension elements, you can send additional status info in <note> elements - many clients do it in this way.
Vaclav
On Mon, Jan 15, 2007 at 12:11:31PM +0530, raj gopal wrote:
Hi Vaclav,
I am using SER as sip and presence server. According to my understanding
SER
supports "open" and "close" presence status. But, my application
required
presence status like busy, tolunch etc.. When client sends PUBLISH with
his
presence status , how does SER process it? while server sending NOTIFY,
does
it consider the status published by client??
Please suggest me to achieve above requirement.
-Venkat