Hi all,
When SER receives an INVITE with a single Route header pointing to
itself, it's supposed to delete it and process the message as if no
Route header was there in the first place. This is what RFC3261
mandates, right?
But currently the loose_route function returns true to the script in
this case, just like when more Route headers are present.
So I have some routing logic for when no Route headers are present,
and if I want to apply the same routing logic to the case when there
is a single Route header pointing to myself (naturally, as it's the
same as if no Route header was present), I currently have to replicate
the same routing logic inside the if (loose_route())...
Or is there an other way? Do I have to develop my own module function
or use some regexp search from the script to detect if there are more
Routes besides myself before I call loose_route?
The best would be to change loose_route to return false and just
remove the Route header pointing to myself when there are no more
Route headers in the message... what do you think?
JF
Hi,
openser 1.1.1 is now available in binary format for several embedded patforms:
- Linksys NSLU
- Synology DS-101(g+)
- Iomega NAS 100d
- Freecom FSG-3
- Qnap TurboStation
...
and all routers supported by the oleg or dd-wrt distributions.
Check out http://www.nslu2-linux.org
Regards,
Ovidiu Sas
RFC 3261 defines that upon reception of a 6xx response, a proxy SHOULD
cancel all forked dialogs and send back the 6xx as the final response to
the upstream UA.
--- rfc 3261, section 16.7 -------
Under the new rules, upon receiving a 6xx, a proxy will issue a CANCEL
request, which will generally result in 487 responses from all
outstanding client transactions, and then at that point the 6xx is
forwarded upstream.
----------------------------------
Some call forking experiments have shown that openser 1.2 does not
follow these rules, instead it seems to disregard any 6xx response and
continue with normal processing of existing forked dialogs.
E.g. if a call forks to five phones and one of them sends back a 603
Declined response, the other four phones continue to ring until
fr_inv_timer fires and failure_route is called with a status of 408 Timeout.
Is it possible to make openser more SIP RFC compliant through
configuration or does this need a code change?
thanks,
Christian
Hello,
Is it possible to choose the protocol, without specifying the destination as we do with the t_relay()?
With the t_relay_to_[tcp|udp|tls] I can choose the protocol but I must specify a destination address in the config file.
Thanks
**********************************************************************
The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this message
by anyone else is unauthorized. If you are not the intended recipient, any
disclosure, copying, or distribution of the message, or any action or
omission taken by you in reliance on it, is prohibited and may be unlawful.
Please immediately contact the sender if you have received this message inerror.
**********************************************************************
Hi,
What is the use of the config item children in the openser.cfg file. How is it related to command line options
(-n process-no / -N tcp process-no).
Rgds,
Sreekanth
Hi,
I am currently experimenting with the presence module (openser v1.2.1).
It seems to work really fine. I only encountered a small problem.
When my client unsubscribes from the presence event by sending a
SUBSCRIBE request with expires=0, then openser responds with a 200 OK.
After the 200 OK, I expect to receive a NOTIFY message, but openser
never sends this NOTIFY. It is this NOTIFY that should terminate
the subscription dialog through its Subscription-State header
set to "terminated".
RFC 3856 states this:
The subscriber can terminate the subscription by sending a SUBSCRIBE,
within the dialog, with an Expires header field (which indicates
duration of the subscription) value of zero. This causes an
immediate termination of the subscription. A NOTIFY request is then
generated by the presence agent with the most recent state.
This behavior is based on the general requirements for event handling
as defined in RFC 3265.
Is this a bug or is there some configuration stuff that enables/disables
the NOTIFY for a SUBSCRIBE with epxpires=0.
A SUBSCRIBE with expires=0 can also arrive as the initial and final
SUBSCRIBE for a subscription. In that case it will be fetching
the presence information only once. Without the NOTIFY, a fetch
does not work.
Cheers,
Michel
--
Michel de Boer
www.twinklephone.com
Kindly help me check this:
root@micadeyeye:/usr/src# cd xten-xlite/
root@micadeyeye:/usr/src/xten-xlite# ls
README xtensoftphone
root@micadeyeye:/usr/src/xten-xlite# ./xtensoftphone
I/O warning : failed to load external entity "/root/.Xscrc"
Warning: /dev/dsp appears to be a valid audio device, but I cannot
open it. Please ensure that no other applications are
using the audio device (perhaps by trying ``lsof /dev/dsp'').
-- Mike
I perform the following scenario (openser v1.2.1):
1) Send a SUBCRIBE to openser for the presence event with expires = 3600
2) The subscription is established. Openser sends a NOTIFY with PIDF
body. The sequence number in the CSeq header is 516.
3) 1 hour later I send an in-dialog SUBSCRIBE to extend the subscription
for another hour.
4) openser sends a NOTIFY having sequence number 516 in the CSeq header.
The sequence number of the NOTIFY should have been higher (517) as the
sequence numbers of in-dialog messages should increase.
I think this is a bug.
Regards,
Michel
--
Michel de Boer
www.twinklephone.com
Hi Klaus:
RFC 3665 page 54 line 4:
A CANCEL constructed by a
client MUST have only a single Via header field value matching the
top Via value in the request being cancelled.
and RFC 3665 at page 53:
CANCEL is referred to as a "hop-by-hop" request, since it is
responded to at each stateful proxy hop.
and RFC 3665 at page 21:
Client: A client is any network element that sends SIP requests
and receives SIP responses. Clients may or may not interact
directly with a human user. User agent clients and proxies are
clients.
So, for my opinion, the role of proxy in this case of RFC 3665 section 3.8 is a client when it sends CANCEL message to Bob.
If I misunderstand any RFC meanings, please correct me.
Thank you very much.
Best Regards,
Fangyu Ling
> fancy wrote:
>> According to RFC 3665 section 3.8 and RFC 3261 section 9,
>> there is only one via header in CANCEL message
>> (message F11, F13 at page 72 of RFC 3665).
>
> Hi!
>
> I could find it in RFC 3665, but not in 3261. Where exactly in RFC 3261
> is mentioned that the CANCEL has only 1 Via header?
>
> Further, the example has only one Via header - but I could not find any
> definition if this is a MUST or not.
>
>> How can I remove the 2nd via header?
>
> You would have to modify tm module and change the code which generates
> the CANCEL message.
>
> regards
> klaus
>