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(a)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(a)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(a)10.187.83.218" version="1" state="full">
<tuple id="000s3">
<status>
<basic>busy</basic>
</status>
<contact>venkat(a)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(a)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
>