TCP Transport problem: via should be Via: SIP/2.0/TCP and not Via: SIP/2.0/tcp

TB
Tzury Bar Yochay
Thu, Aug 13, 2009 2:49 PM

Hi,

I just found out that pjsua is unable to register to a freeswitch when using
;transport=tls

you can see more details at
http://lists.freeswitch.org/pipermail/freeswitch-users/2009-August/017796.html

Have you guys came across that as well?

Hi, I just found out that pjsua is unable to register to a freeswitch when using ;transport=tls you can see more details at http://lists.freeswitch.org/pipermail/freeswitch-users/2009-August/017796.html Have you guys came across that as well?
KD
Klaus Darilion
Thu, Aug 13, 2009 4:06 PM

RFC 3261:

transport        =  "UDP" / "TCP" / "TLS" / "SCTP"
/ other-transport

Unless otherwise stated, tokens are case-insensitive.

IMO pjsip should send TCP and freeswitch should accept "tls" too :)

klaus

Tzury Bar Yochay schrieb:

Hi,

I just found out that pjsua is unable to register to a freeswitch when
using ;transport=tls

you can see more details at
http://lists.freeswitch.org/pipermail/freeswitch-users/2009-August/017796.html

Have you guys came across that as well?



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

RFC 3261: transport = "UDP" / "TCP" / "TLS" / "SCTP" / other-transport Unless otherwise stated, tokens are case-insensitive. IMO pjsip should send TCP and freeswitch should accept "tls" too :) klaus Tzury Bar Yochay schrieb: > Hi, > > I just found out that pjsua is unable to register to a freeswitch when > using ;transport=tls > > you can see more details at > http://lists.freeswitch.org/pipermail/freeswitch-users/2009-August/017796.html > > Have you guys came across that as well? > > > ------------------------------------------------------------------------ > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
TB
Tzury Bar Yochay
Sun, Aug 16, 2009 7:50 AM

IMO pjsip should send TCP and freeswitch should accept "tls" too :)

in fact, pjsip sends Via: SIP/2.0/tcp and that causing a problem while
freeswtich is expecting Via: SIP/2.0/TCP
can anyone point to the place in the code where I can change it?

> IMO pjsip should send TCP and freeswitch should accept "tls" too :) in fact, pjsip sends Via: SIP/2.0/tcp and that causing a problem while freeswtich is expecting Via: SIP/2.0/TCP can anyone point to the place in the code where I can change it?
KD
Klaus Darilion
Mon, Aug 17, 2009 7:40 AM

Tzury Bar Yochay schrieb:

IMO pjsip should send TCP and freeswitch should accept "tls" too :)

in fact, pjsip sends Via: SIP/2.0/tcp and that causing a problem while
freeswtich is expecting Via: SIP/2.0/TCP
can anyone point to the place in the code where I can change it?

fgrep -r /2.0/ |grep -v test
pjsip/src/pjsip/sip_msg.c:    pj_str_t sip_ver = { "SIP/2.0/", 8 };
pjsip/src/pjsip/sip_msg.c:    /
SIP/2.0/transport host:port */

Tzury Bar Yochay schrieb: >> IMO pjsip should send TCP and freeswitch should accept "tls" too :) > in fact, pjsip sends Via: SIP/2.0/tcp and that causing a problem while > freeswtich is expecting Via: SIP/2.0/TCP > can anyone point to the place in the code where I can change it? fgrep -r /2.0/ *|grep -v test pjsip/src/pjsip/sip_msg.c: pj_str_t sip_ver = { "SIP/2.0/", 8 }; pjsip/src/pjsip/sip_msg.c: /* SIP/2.0/transport host:port */
BP
Benny Prijono
Tue, Aug 18, 2009 1:55 PM

On Thu, Aug 13, 2009 at 5:06 PM, Klaus Darilion <
klaus.mailinglists@pernau.at> wrote:

RFC 3261:

transport        =  "UDP" / "TCP" / "TLS" / "SCTP"
/ other-transport

Unless otherwise stated, tokens are case-insensitive.

IMO pjsip should send TCP and freeswitch should accept "tls" too :)

I wish it was that easy to change. In PJSIP, these names are generated by
pjsip_transport_get_type_name() (sip_transport.h), and this is used all over
the place, e.g. in Via and also in URI parameters.

It will be easy to change the output to uppercase, but then again if you
look at different place in the RFC:

uri-parameter    =  transport-param / user-param / method-param
/ ttl-param / maddr-param / lr-param / other-param
transport-param  =  "transport="
( "udp" / "tcp" / "sctp" / "tls"
/ other-transport)

It's in lowercase.

So if we change pjsip_transport_get_type_name() to uppercase, wouldn't then
it complain about this in the URI?

We could hack it to manually with toupper() in Via header, but that's just
too much work for something that's perfectly good. ;-)

Cheers
Benny

On Thu, Aug 13, 2009 at 5:06 PM, Klaus Darilion < klaus.mailinglists@pernau.at> wrote: > RFC 3261: > > transport = "UDP" / "TCP" / "TLS" / "SCTP" > / other-transport > > Unless otherwise stated, tokens are case-insensitive. > > > IMO pjsip should send TCP and freeswitch should accept "tls" too :) > > I wish it was that easy to change. In PJSIP, these names are generated by pjsip_transport_get_type_name() (sip_transport.h), and this is used all over the place, e.g. in Via and also in URI parameters. It will be easy to change the output to uppercase, but then again if you look at different place in the RFC: uri-parameter = transport-param / user-param / method-param / ttl-param / maddr-param / lr-param / other-param transport-param = "transport=" ( "udp" / "tcp" / "sctp" / "tls" / other-transport) It's in lowercase. So if we change pjsip_transport_get_type_name() to uppercase, wouldn't then it complain about this in the URI? We could hack it to manually with toupper() in Via header, but that's just too much work for something that's perfectly good. ;-) Cheers Benny
TB
Tzury Bar Yochay
Tue, Aug 18, 2009 3:37 PM

So if we change pjsip_transport_get_type_name() to uppercase, wouldn't then
it complain about this in the URI?

We could hack it to manually with toupper() in Via header, but that's just
too much work for something that's perfectly good. ;-)

Cheers
 Benny

Hi Benny,

Although I am far away from a position of having my own opinions about
the code authoring issues. Since by far, pjsip and freeswitch share
something in common - they are both the best open source sip software
package available, one on the client side and the other on  the server
side - having them both able to communicate over TCP seems to be
required by law of nature ;-)
(AFAIK, signaling over TCP the rfc).

maybe uri and via should each call a different function whereas the
latest is wrapping the result with toupper()

> So if we change pjsip_transport_get_type_name() to uppercase, wouldn't then > it complain about this in the URI? > > We could hack it to manually with toupper() in Via header, but that's just > too much work for something that's perfectly good. ;-) > > Cheers >  Benny Hi Benny, Although I am far away from a position of having my own opinions about the code authoring issues. Since by far, pjsip and freeswitch share something in common - they are both the best open source sip software package available, one on the client side and the other on the server side - having them both able to communicate over TCP seems to be required by law of nature ;-) (AFAIK, signaling over TCP the rfc). maybe uri and via should each call a different function whereas the latest is wrapping the result with toupper()
BP
Benny Prijono
Wed, Aug 19, 2009 9:50 AM

On Tue, Aug 18, 2009 at 4:37 PM, Tzury Bar Yochaytzury.by@gmail.com wrote:

So if we change pjsip_transport_get_type_name() to uppercase, wouldn't then
it complain about this in the URI?

We could hack it to manually with toupper() in Via header, but that's just
too much work for something that's perfectly good. ;-)

Cheers
 Benny

Hi Benny,

Although I am far away from a position of having my own opinions about
the code authoring issues. Since by far, pjsip and freeswitch share
something in common - they are both the best open source sip software
package available, one on the client side and the other on  the server
side - having them both able to communicate over TCP seems to be
required by law of nature ;-)
(AFAIK, signaling over TCP the rfc).

maybe uri and via should each call a different function whereas the
latest is wrapping the result with toupper()

Okay okay, done: http://trac.pjsip.org/repos/ticket/951#comment:1 :)

Thanks
Benny

On Tue, Aug 18, 2009 at 4:37 PM, Tzury Bar Yochay<tzury.by@gmail.com> wrote: >> So if we change pjsip_transport_get_type_name() to uppercase, wouldn't then >> it complain about this in the URI? >> >> We could hack it to manually with toupper() in Via header, but that's just >> too much work for something that's perfectly good. ;-) >> >> Cheers >>  Benny > > Hi Benny, > > Although I am far away from a position of having my own opinions about > the code authoring issues. Since by far, pjsip and freeswitch share > something in common - they are both the best open source sip software > package available, one on the client side and the other on  the server > side - having them both able to communicate over TCP seems to be > required by law of nature ;-) > (AFAIK, signaling over TCP the rfc). > > maybe uri and via should each call a different function whereas the > latest is wrapping the result with toupper() > Okay okay, done: http://trac.pjsip.org/repos/ticket/951#comment:1 :) Thanks Benny