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
> >
Hello,
are you proxying the media stream all the time now? Or just when the one
of the party is behind the nat? I have in mynd the sceanrio when the
initial callee is behind nat, it sends back redirect, and the new
destination is public...
Cheers,
Daniel
On 01/12/07 14:36, Howard Tang wrote:
> Hi Daniel,
>
> Thank you very much, the problem fixed.
>
> Regards,
> Howard
>
> On 1/11/07, Daniel-Constantin Mierla <daniel(a)voice-system.ro> wrote:
>> Hello,
>>
>> as i see in your failure route you close mediaproxy nat handling -- try
>> to keep it on. ALso, the contacts in redirect message might be natted
>> even when initial destination wasn't -- you have to deal with this case
>> as well (start nat handling).
>>
>> Cheers,
>> Daniel
>>
>>
>> On 01/09/07 14:23, Howard Tang wrote:
>> > Hi Daniel,
>> >
>> > by using the following code in the failure_route block, i am able to
>> > have a better accounting record for billing. However, i am having one
>> > way audio problem which i believe it is related to NAT. I have tested
>> > forward a call on a UA which is on public ip, which works prefectly.
>> > However, when i tested it with UA which is behind NAT, one way audio
>> > happen when the UA send 302 reply to forward a call..
>> >
>> > failure_route[1]
>> > {
>> > end_media_session();
>> > # Handle 302 Redirects
>> > if (t_check_status("302")) {
>> > get_redirects("*");
>> > t_relay();
>> > };
>> > }
>> >
>> > Anyone has an idea on how i can fix this?
>> >
>> > Regards,
>> > Howard
>> >
>> >
>> > On 1/9/07, Daniel-Constantin Mierla <daniel(a)voice-system.ro> wrote:
>> >> Hello,
>> >>
>> >> when the call A -> B is forwarded to C, then you need to have in your
>> >> script:
>> >>
>> >> avp_write("A", "$avp(i:110)");
>> >> avp_write("B", "$avp(i:111)");
>> >> avp_write("B", "$avp(i:110)");
>> >> avp_write("C", "$avp(i:111)");
>> >>
>> >> A, B, C are the SIP addresses of the parties involved in this call.
>> >>
>> >> Cheers,
>> >> Daniel
>> >>
>> >> On 01/08/07 23:14, Howard Tang wrote:
>> >> > Hi,
>> >> >
>> >> > Did anyone successfully setup call accounting for call forward?
>> I have
>> >> > been searching for a working example for few days on google, I
>> still
>> >> > couldn't find any working example.
>> >> >
>> >> > The config I have at the moment is
>> >> >
>> >> > modparam("acc", "multi_leg_enabled", 1)
>> >> > modparam("acc", "src_leg_avp_id", 110)
>> >> > modparam("acc", "dst_leg_avp_id", 111)
>> >> >
>> >> > In the main route,
>> >> > if (!method=="REGISTER" && !method=="NOTIFY") {
>> >> > avp_write("$from/username", "$avp(i:110)");
>> >> > avp_write("$ruri/username", "$avp(i:111)");
>> >> > };
>> >> >
>> >> > Let say A call B and B forward call to C, the record in the acc
>> table
>> >> > is all
>> >> > A to C without B in any one of the record for billing purpose. The
>> >> > Call forward was set on the UA.
>> >> >
>> >> > Can anyone give me a hand on this please?
>> >> >
>> >>
>> >
>>
>
Hi,
a nokia E60 is registered to SER 0.9.6. The response to a INVITE by
the E60 is not a proper 407 response but just a small UDP paket (46
bytes). I cannot be shure that it is really the response and not
some data send from time to time, but there is no other response.
Ethereal does not identify this paket as SIP
if (!proxy_authorize("domain","subscriber")) {
log(3,"proxy_challenge");
proxy_challenge("domain","0");
break;
}
The phone is registered and can be called. Just INVITE does not
work. Compression and security flags in phones config are set to
off. The firmware of the phone is somewhat old, but probably I am
not the only one using E60 with old firmware.
The INVITE itself looks not bad and does work for asterisk 1.4
server and other systems. Even if the INVITE would contain garbage
SER should send some SIP response with 5XX code. It is strange.
Any help appreciated
--
Stefan Tichy <seruser(a)pi4tel.de>
Hi,
What do i need to do if i want to prevent same user using two
different UAs to register to openser in different location?
e.g. A has 2 ATA, one at 222.222.222.222 and one in 111.111.111.111,
he has put same login detials in the ATA, and try to register openser
on 123.123.123.123
Both ATA will successfully register to the proxy, i want to prevent
this, what can be done?
Regards,
Howard
Hi,
I've configured the ser with my lcr and its working fine. If first gateway
fails after a wait of 30sec it loads another gw and passes the call to my
asterisk server. Now I want to reduce this 30sec retry time to 5sec so in
case my first gw is not reachable then after 5sec it should load the next
gateway.
thanks
arun
Just a quick summary of documentation status for SER 2.0 (Ottendorf):
-------------------
* http://www.iptel.org/ser/doc/010whatsnew contains a set of book pages
introducing new features
* ser-basic.cfg and ser.cfg in etc/ directory of source package
contains a non-database and mysql database example that should be a good
basis for testing
*
http://www.iptel.org/new_major_ser_pre_release_ottendorf_is_out_for_testing
provides and overview of new stuff and a step-wise guide to get started
* Module documentation is available online at
http://www.iptel.org/views/moduledocs (I personally prefer the table
overview for quick browsing: http://www.iptel.org/views/tableofmodules).
Most of the important modules are available online, but see below for
module documentation status
What's left?
----------------
* Overall review of all readme files in source tree, as well as review
of completeness/correctness of module documentation
* Completion of module documentation
* Update SER - Getting Started document and configuration files
* Complete What's New 0.10.x as a migration guide; evaluate what to
extract in a separate manual for SER functionality (updated admin guide)
* Make sure all new features have been documented properly either in
module docs or migration guide
If you want to contribute in some way, please volunteer! (ex. to review
module documentation for your favorite module...)
g-)
----------------------------------------------------------------------------
Most of the modules are documented online at iptel.org. The
documentation is checked out every night (4am CET) from the cvs and
generated, so any changes made the previous day will be available online
the next day.
The modules below are not yet available online and the following have no
readme or docbook documentation in CVS (anybody with documentation for
these, please make a sound!):
acc_db
acc_radius
ctl
dialog
fifo
xmlrpc
These modules have README files available in CVS, but have not been
converted to docbook format yet (in the works):
db_ops
diversion
eval
mediaproxy
postgres
timer
tls
Hello,
We have a few hundred users registered to a openser we are running and
everything works fine, however i get som error messages in the logs I
would like to get rid of...
//sbin/openser[28867]: ERROR: get_hdr_field: bad to header
/sbin/openser[28867]: ERROR: bad header field
/sbin/openser[28867]: ERROR: get_hdr_field: bad to header
/sbin/openser[28867]: ERROR: bad header field
/sbin/openser[28867]: ERROR:parse_from_header: bad from header
/sbin/openser[28867]: xl_get_from: ERROR cannot parse FROM header
/sbin/openser[28867]: ERROR: get_hdr_field: bad to header
/sbin/openser[28867]: ERROR: bad header field
/sbin/openser[28867]: xl_get_to: ERROR cannot parse TO header
/sbin/openser[28867]: [REGISTER] from [<null>] to [<null>]
/sbin/openser[28867]: ERROR: get_hdr_field: bad to header
/sbin/openser[28867]: ERROR: bad header field
/sbin/openser[28867]: ERROR:maxfwd:is_maxfwd_present : parsing
MAX_FORWARD header failed!
/sbin/openser[28867]: ERROR:parse_from_header: bad from header
/sbin/openser[28867]: insert_RR(): From parsing failed
/sbin/openser[28867]: record_route(): Error while inserting Record-Route
line
/sbin/openser[28867]: ERROR: get_hdr_field: bad to header
/sbin/openser[28867]: ERROR: bad header field
/sbin/openser[28867]: find_first_route: Error while parsing headers
/sbin/openser[28867]: analyzing REGISTER request
/sbin/openser[28867]: ERROR: get_hdr_field: bad to header
/sbin/openser[28867]: ERROR: bad header field
/sbin/openser[28867]: find_credentials(): Error while parsing headers
/sbin/openser[28867]: pre_auth(): Error while looking for credentials
/sbin/openser[28867]: ERROR: get_hdr_field: bad to header
/sbin/openser[28867]: ERROR: bad header field
/sbin/openser[28867]: ERROR: get_hdr_field: bad to header
/sbin/openser[28867]: ERROR: bad header field
/sbin/openser[28867]: ERROR: build_res_buf_from_sip_req: alas,
parse_headers failed
/sbin/openser[28867]: pre_auth(): Error while sending 400 reply
/
Anyone has a clue what I can do to debug this to find out where the
request are coming from or what can be done to stop the invalid(?)
requests from being processed and clutter my logs?
Thanks
Lars Sundqvist
Hi all,
I work on an existing configuration of SER. I'm not able to find the
parameter wich define the time in seconds before SER redirect call to
Asterisk Voice Mail.
In fact, I want to change this timing to put it in SER DB with a
usr_preferences table like.
Someone have an idea about the kind of line which could be define it ?
Thanks for your help.