Hi,
On Wednesday 11 July 2007 17:07:22 JF wrote:
The scenario was actually using an Application
Server.
The AS starts a call and sends an INVITE with tel URI to a SER which
is the entrypoint to my SIP infrastructure. The AS uses this SER as
outbound proxy, so it includes its SIP URI in a Route header.
The use-case for tel URI in the Req-URI here is that it will be the
task of my SIP infrastructure to determine if this tel URI is
associated to a SIP phone, or if it should be forwarded to a PSTN gw.
But your AS uses a SIP URI as Contact in the INVITE?
And when the call is established either to a phone or the GW there will be no
TEL URI any more in the dialog, right?
If you can answer both questions from above with yes, I would propose to add
another check for the To-tag before we deviced if this is loose route driven
or not. That should then hopefully solve your problem in a generic way
without caring about the URI scheme.
Nils
JF
On 7/11/07, Nils Ohlmeier <nils(a)iptel.org> wrote:
> Hello,
>
> I think the TEL URI was invented to make the live easier for PSTN
> gateways. So they should only be used between proxy's and gateways (or
> vice versa). This also means that a TEL URI should not be used routing
> between SIP proxies. IMHO basically the first fully SIP aware hop should
> turn the TEL URI into a SIP URI. That makes life of everybody easier.
>
> So I think that treating a TEL URI as a local URI (as if it would have
> one of the local domains) is not the correct solution.
>
> To understand the scenario a little bit better: in this an in-dialog
> request with a To-tag (then I'm wondering how this can happen), or is
> this an initial request without a To-tag (the devices uses your proxy as
> outbound proxy)?
>
> Regards
> Nils
>
> On Thursday 28 June 2007 17:13:43 JF wrote:
> > I would propose to simply apply this patch to modules/rr/loose.c:
> >
> > @@ -1069,8 +1069,8 @@
> > return -1;
> > }
> >
> > - if (is_myself(&_m->parsed_uri.host, _m->parsed_uri.port_no)
> > - || _m->parsed_uri.type==TEL_URI_T ||
> > _m->parsed_uri.type==TELS_URI_T) {
> > + if (_m->parsed_uri.type==TEL_URI_T ||
> > _m->parsed_uri.type==TELS_URI_T || +
> > is_myself(&_m->parsed_uri.host,
> > _m->parsed_uri.port_no)) {
> > DBG("loose_route: RURI is myself (or tel URI)\n");
> > if ((ret = is_myself(&puri.host, puri.port_no)) == 1
&&
> > !(enable_double_rr &&
is_2rr(&puri.params))) {
> >
> >
> > JF
> >
> > On 6/22/07, Greger Viken Teigre <greger(a)teigre.com> wrote:
> > > This seems like a corner case where the tel uri with no domain
> > > results in maybe a bit unfortunate return code from loose_route.
> > > Comments anyone? g-)