Re: [SR-Users] question for best way to remove sips uris - TLS and sips in $ru - get_send_socket2(): protocol/port mismatch

2017-08-31 Thread Karsten Horsmann
Hello List,

i answering myself - just for the records.

For my issues i found an solution.

1.) If sips from broken client, save "sip://" scheme to record-route (like
described before) and then reformat it to the old $ru
2.) Attach a FLT_Flag to this
3.) On my dispatcher route i force "transport=udp" to it, if my FLT_Flag
there is

The 60 second sound problem was an rfc4028 - session timer issue between
UAC and target B2BUA (FreeSWITCH).
I could solve this with 'param name="enable-timer" value="false"' within
FreeSWITCH sip-profile.


#!define FLT_SRCSIPS 19

request_route {
...
remove_hf("Route");
if (is_method("INVITE|SUBSCRIBE")) {
if ($ru =~ "^sips:") {
route(FIX_SIPS);
} else {
record_route();
}
}
...
}

route[FIX_SIPS] {
if ($ru =~ "^sips:") {
xlog("L_INFO","---FIX_SIPS-before: ru:($ru)");
$var(orig_uri) = $ru;
$ru = "sip:" + $rU + "@" + $td;
xlog("L_INFO","---FIX_SIPS-now: $rU $td ru:($ru)
orig_uri:($var(orig_uri))");
record_route();
$ru = $var(orig_uri);
xlog("L_INFO","---FIX_SIPS-after: ru:($ru)");
setflag(FLT_SRCSIPS);
}
}


route[DISPATCHIVR] {
...
if(isflagset(FLT_SRCSIPS)) {
$var(orig_du) = $du;
$du = "sip:" + $rd + ":" + $rp + ";transport=udp";
xlog("L_INFO","reformate ($var(orig_du)) to ($du)");
}
...
}


2017-08-18 13:54 GMT+02:00 Karsten Horsmann :

> Hello List,
>
>
> of course - best way is not to use sips: uri scheme. But i have to deal
> with that.
>
> I try to configure an multihomed kamailio (public/private IP) in front of
> my SIP-Servers.
> One of my softphones variants used TLS for connection but the INVITES of
> this softphone use the "sips" URI scheme.
>
> As i saw in other posts, this seems to be an issue for many people.
> In my case it breaks the routing to my internal sip-server (only plain
> udp).
>
> Most of my config is similar to havfos example + TLS.
> https://github.com/havfo/WEBRTC-to-SIP/blob/master/etc/
> kamailio/kamailio.cfg
>
> [...]
>



-- 
Kind Regards
*Karsten Horsmann*
___
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


[SR-Users] question for best way to remove sips uris - TLS and sips in $ru - get_send_socket2(): protocol/port mismatch

2017-08-18 Thread Karsten Horsmann
Hello List,


of course - best way is not to use sips: uri scheme. But i have to deal
with that.

I try to configure an multihomed kamailio (public/private IP) in front of
my SIP-Servers.
One of my softphones variants used TLS for connection but the INVITES of
this softphone use the "sips" URI scheme.

As i saw in other posts, this seems to be an issue for many people.
In my case it breaks the routing to my internal sip-server (only plain udp).

Most of my config is similar to havfos example + TLS.
https://github.com/havfo/WEBRTC-to-SIP/blob/master/etc/kamailio/kamailio.cfg


I tried to fixed that with this extra route -
but this breaks the dialog somewhere - after 60 seconds i have no audio and
the BYE becomes another CSeq:

in the request_route right after route(AUTH)  i add my route(FIX_SIPS)

if (is_method("INVITE|SUBSCRIBE")) {
if ($ru =~ "^sips:") {
route(FIX_SIPS);
} else {
record_route();
}
}


route[FIX_SIPS] {
if ($ru =~ "^sips:") {
xlog("L_INFO","---FIX_SIPS-before: ru:($ru)");
$var(orig_uri) = $ru;
$ru = "sip:" + $rU + "@" + $td;
xlog("L_INFO","---FIX_SIPS-now: $rU $td ru:($ru)
orig_uri:($var(orig_uri))");
record_route();
#$ru = $var(orig_uri);
xlog("L_INFO","---FIX_SIPS-after: ru:($ru)");
}
}


172.20.120.81 = Kamailio private IP
172.20.120.79 = My internal SIP-Server (B2BUA)


I used kamailio with CentOS 7 and RTPENGINE 63bdd615 from master
kamailio-5.0.2-3.1.x86_64
kamailio-tls-5.0.2-3.1.x86_64
kamailio-mysql-5.0.2-3.1.x86_64
kamailio-websocket-5.0.2-3.1.x86_64

-- 
Kind Regards
*Karsten Horsmann*
___
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users