On October 26, 2014 9:16:10 PM CDT, Yuriy Gorlichenko <ovoshl...@gmail.com> wrote: >Hello Antony. This my customised cfg sample. After this you should call >t_relay() func: One thing - you should handle ACK messages for WS at >loose_route. thomething like this: if (is_request()) { if >(!has_totag()) { >if(t_is_branch_route()) { add_rr_param(";nat=yes"); } >xlog("L_INFO","first >{$rm}"); } xlog("L_INFO","It Is request {$rm}"); if ($ru =~ >"transport=ws"){ $var(received)=0; #$var(to_uri)=$(ru{s.select,0,@}); >sql_pvquery("ca","select received from location where contact like >'$(ru{s.select,0,@})%'","$var(received)"); xlog("L_INFO","RECIEVED for >{$rm} = {$var(received)}"); $du=$var(received); } } > > >It is very important because ACK message sends to UDP endpoint by >default, >so you should change $du for this packet, or your call will bend after >few >seconds (if WS socket picked up) with message "transaction does not >exists". Because ACK messages will be send to UDP endpoint or nowere >because contact field at location for WS endpoint have thomething like >"dsfs353fwrf@ivalid.sddfsdg:transport=ws". Offcourse this will not be >resolve. You need data from received field with right destination >address. >there is main cfg sql_query("ca", "select contact from location where >username='$tU'", "ra"); >xlog("rows: $dbr(ra=>rows) cols: $dbr(ra=>cols)\n"); >if($dbr(ra=>rows)>0){ >$var(i)=0; > while($var(i)<$dbr(ra=>rows)){ >xlog("L_INFO","SQL query return contact {$dbr(ra=>[$var(i),0])} for >{$tU} >at step {$var(i)}\n"); > if ($dbr(ra=>[$var(i),0])=~"transport=ws"){ >xlog("L_INFO", "This is a Websocket call to endpoint"); >sql_pvquery("ca", "select received from location where >contact='$dbr(ra=>[$var(i),0])'","$var(recieved)"); > $du=$var(recieved); >xlog("L_INFO","SQL query return recieved {$var(recieved)} for {$tU}. >Destination is {$du}\n"); >append_branch("sip:$tU@$(du{s.select,1,:})"); > } > else >{ >xlog("L_INFO", "This is a classic UDP call to endpoint"); >$du="sip:"+$(dbr(ra=>[$var(i),0]){s.select,1,@}); >$var(UDP_contact)="sip:"+$(dbr(ra=>[$var(i),0]){s.select,1,@}); > append_branch("sip:$tU@$(du{s.select,1,:})"); > xlog("L_INFO","Classic Destination URI is {$dbr(ra=>[$var(i),0])} for >{$tU}}. Destination is {$du}\n"); >} >$var(i) = $var(i) + 1; > } >} >t_on_branch("1"); >return; > } >} > >} > > >branch_route[1]{ > >if($du=~"transport=ws"){ >xlog("L_INFO","Websocket Branch is {$du} for {$tU}\n"); >rtpproxy_manage("froc+SP"); >t_on_reply("REPLY_FROM_WS"); > } >else{ >xlog("L_INFO","UDP Branch is {$du)} for {$tU}\n"); >rtpproxy_manage("co-sp"); >t_on_reply("MANAGE_CLASSIC_REPLY"); >} >} > >2014-10-27 2:34 GMT+04:00 Anthony Messina <amess...@messinet.com>: > >> On Monday, October 27, 2014 02:20:52 AM Yuriy Gorlichenko wrote: >> > I fixed this. rtpengine must handle each of branches at >branch_route(). >> Not >> > that is fine. Thanks for link. It was not my issue but with it i >find >> right >> > way. >> >> Yuriy, I'm fairly new to Kamailio and have been following your issue >as I >> may >> be seeing something similar when I try to parallel fork a call which >issues >> RTP/AVP to one branch and RTP/SAVP to another (group call with >various >> endpoints). >> >> It may be related to https://github.com/sipwise/rtpengine/issues/39 >but >> to be >> honest, I'm not certain I've got Kamilio set up properly. >> >> Would you mind sharing your kamilio.cfg routes related to rtpengine >and >> branch_route? >> >> Thanks. -A >> >> -- >> Anthony - https://messinet.com/ - >https://messinet.com/~amessina/gallery >> 8F89 5E72 8DF0 BCF0 10BE 9967 92DC 35DC B001 4A4E >> >> _______________________________________________ >> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing >list >> sr-users@lists.sip-router.org >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >> >> > > >------------------------------------------------------------------------ > >_______________________________________________ >SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >sr-users@lists.sip-router.org >http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Thanks a lot Yuriy. I'll try to learn from your config. -A -- Anthony - https://messinet.com/ _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users