Hi, risntance is just an URI parameter and from server pov it is opaque - has no meaning. It is exclusively used by phone (X-lite). Tipically such param is used by phones that register multiple accounts, in order to make distinction between the accounts (as for all of them , the IP and port from contact will be the same).
To see why the call is drop, you need to take a sip trace (use ngrep) to see the signalling on the proxy. Regards, Bogdan oso che bol wrote: > Dear Bogdan, > > Regarding about old question, could you please tell me why: > - Contact of Mobile: sip:[email protected]:1120 > - Contact of X-Lite: sip:[email protected]:14553;rinstance=abb597b601e7398b > > What is rinstance and does it impact to the call. I make call from > Mobile (SJPhone on winCE) to X-Lite and after 32s, it drop call. Both > UAs behind NAT. > > But, x-lite --to/from -- x-lite: call successful, no drop. > > Thanks, > -LN > > On Tue, Mar 31, 2009 at 11:09 PM, oso che bol <[email protected] > <mailto:[email protected]>> wrote: > > Dear Bogdan, > > Thanks very much for your time. > > Regards, > -LN > > > On Tue, Mar 31, 2009 at 8:53 PM, Bogdan-Andrei Iancu > <[email protected] <mailto:[email protected]>> wrote: > > Please use fix_nated_register() for REGISTER requests - this > will set the appropriate info to be saved in usrloc. > > fix_nated_register() is not changing the contact (so the > usrloc will save the real contact), but is just setting some > additional info to be saved in usrloc (the received field) > > fix_nated_contact() is actually changing the contact from the > request - this is to be used for non-REGISTER requests. > > > Regards, > Bogdan > > oso che bol wrote: > > > Dear Bogdan > > I change the config of NATed REGISTER request to: > > / if (nat_uac_test("19")) { > if (is_method("REGISTER") || > !search("^Record-Route")) { > log("LOG: HTK Someone trying to register from > private IP, rewriting\n"); > fix_nated_contact(); # Rewrite contact with > source IP of signalling > force_rport(); # Add rport parameter to topmost Via > setbflag(6); # Mark as NATed > if (method=="INVITE") { > fix_nated_sdp("1"); # Add direction=active to SDP > force_rport(); # Add rport parameter to topmost Via > setbflag(6); # Mark as NATed > }; > };/ > > Output of "opensipsctl ul show": > > /[r...@ln]# opensipsctl ul show > database engine 'MYSQL' loaded > Control engine 'FIFO' loaded > entering fifo_cmd ul_dump > Mar 31 07:17:27 [6412] DBG:mi_fifo:mi_parse_node: end of > input tree > Mar 31 07:17:27 [6412] DBG:mi_fifo:mi_fifo_server: done > parsing the mi tree > Domain:: aliases table=512 records=0 max_slot=0 > Domain:: location table=512 records=2 max_slot=1 > AOR:: 5000 > Contact:: sip:[email protected]:5060;transport=UDP Q= > Expires:: 1038 > Callid:: A9AOj5F5oIeDS04U53IMr4_65zZvf5 > Cseq:: 6049 > User-agent:: E66-1 RM-343 102.07.81 > State:: CS_SYNC > Flags:: 0 > Cflag:: 64 > Socket:: udp:174.132.X.Y:5060 > Methods:: 4294967295 > AOR:: 6000 > Contact:: > sip:[email protected]:11370;rinstance=dbe921dccef4bee4 Q= > Expires:: 1060 > Callid:: > MDdmOTVkNzAzODAxN2JiMjk0MTk1NTEwNThjOWE2ZTM. > Cseq:: 6 > User-agent:: X-Lite release 1100l stamp 47546 > State:: CS_SYNC > Flags:: 0 > Cflag:: 64 > Socket:: udp:174.132.X.Y:5060 > Methods:: 5951 > FIFO command was: > :ul_dump:opensips_receiver_6568/ > > Could you please explain why with mobile user 5000, the > contact /sip:[email protected]:5060;transport=UDP /and > with X-Lite User 6000 the contact is > /[email protected]:11370;rinstance=dbe921dccef4bee4/ > > How fix_nated_register() differ with fix_nated_register(), > do we need to call fix_nated_register() at REGISTER > processing? > > Thanks and Regards, > > -LN > > On Tue, Mar 31, 2009 at 6:19 PM, Bogdan-Andrei Iancu > <[email protected] <mailto:[email protected]> > <mailto:[email protected] > <mailto:[email protected]>>> wrote: > > Hi, > > if the online-user info is correct, it looks like the > fix_nated_register() is not done. > > Please post the output of "opensipsctl ul show", for > that specific > user. > > Also test by using xlog if the at register time your > processing > gets inside the "if (!search("^Contact:[ ]*\*") && > nat_uac_test("19")) {". > > Regards, > Bogdan > > oso che bol wrote: > > Dear All, > > I use Opensips 1.4.1 with rtpproxy 1.2 for NAT support. > > I use X-Lite which is Behind NAT, register to > OpenSIPs proxy, > Opensips store right contact address. But, when i > use Nokia > E66 to register to Opensips, the contact address is > bellow: > Online SIP Users > Username Domain Contact Expires User Agent > 5000 *sip:[email protected] > <mailto:sip%[email protected]> > <mailto:sip%[email protected] > <mailto:sip%[email protected]>> > <mailto:sip%[email protected] > <mailto:sip%[email protected]> > <mailto:sip%[email protected] > <mailto:sip%[email protected]>>>;transport=UDP* > 2009-03-30 > > 07:20:24.0 E66-1 RM-343 102.07.81 > > > User 5000 do not store with external IP address of its > (external address not 192.168.1.100). Do you have > any ideas > about this? > > Bellow is my Opensips.conf > > Thanks and Regards, > > -LN > > Opensips.conf > > ================== > > ####### Global Parameters ######### > > debug=4 > log_stderror=yes > log_facility=LOG_LOCAL0 > > fork=yes > children=4 > > /* uncomment the following lines to enable debugging */ > #debug=6 > #fork=no > #log_stderror=yes > > #disable_tcp=yes > #disable_dns_blacklist=no > #dns_try_ipv6=yes > #auto_aliases=no > > /* uncomment the following lines to enable TLS support > (default off) */ > #disable_tls = no > #listen = tls:your_IP:5061 > #tls_verify_server = 1 > #tls_verify_client = 1 > #tls_require_client_certificate = 0 > #tls_method = TLSv1 > #tls_certificate = > "//etc/opensips/tls/user/user-cert.pem" > #tls_private_key = > "//etc/opensips/tls/user/user-privkey.pem" > #tls_ca_list = > "//etc/opensips/tls/user/user-calist.pem" > > > port=5060 > listen=udp:MY_OPENSIP_IP:5060 > > > ####### Modules Section ######## > > #set module path > mpath="//lib/opensips/modules/" > > /* uncomment next line for MySQL DB support */ > loadmodule "db_mysql.so" > loadmodule "sl.so" > loadmodule "tm.so" > loadmodule "rr.so" > loadmodule "maxfwd.so" > loadmodule "usrloc.so" > loadmodule "registrar.so" > loadmodule "textops.so" > loadmodule "mi_fifo.so" > loadmodule "uri_db.so" > loadmodule "uri.so" > loadmodule "xlog.so" > loadmodule "acc.so" > loadmodule "auth.so" > loadmodule "auth_db.so" > > #loadmodule "presence.so" > #loadmodule "presence_xml.so" > > loadmodule "nathelper.so" > loadmodule "avpops.so" > ###################### > > > modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo") > modparam("rr", "enable_full_lr", 1) > modparam("rr", "append_fromtag", 0) > modparam("registrar", "method_filtering", 1) > > /* uncomment the next line to disable parallel > forking via > location */ > # modparam("registrar", "append_branches", 0) > /* uncomment the next line not to allow more than > 10 contacts > per AOR */ > #modparam("registrar", "max_contacts", 10) > modparam("uri_db", "use_uri_table", 1) > modparam("uri_db", "db_url", > "mysql://sermyadmin:sec...@my_database_ip/sermyadmin") > #them for bug9, like guide in bug9 > modparam("uri_db", "db_table", "uri") > > > # ----- acc params ----- > /* what sepcial events should be accounted ? */ > modparam("acc", "early_media", 1) > modparam("acc", "report_ack", 1) > modparam("acc", "report_cancels", 1) > modparam("acc", "detect_direction", 0) > modparam("acc", "failed_transaction_flag", 3) > modparam("acc", "log_flag", 1) > modparam("acc", "log_missed_flag", 2) > modparam("acc", "db_flag", 1) > modparam("acc", "db_missed_flag", 2) > > modparam("usrloc", "db_mode", 2) > modparam("usrloc", "db_url", > > "mysql://sermyadmin:sec...@my_database_ip/sermyadmin") > > modparam("auth_db", "calculate_ha1", yes) > modparam("auth_db", "password_column", "password") > modparam("auth_db|permission", "db_url", > > "mysql://sermyadmin:sec...@my_database_ip/sermyadmin") > > modparam("avpops", "avp_url", > "mysql://sermyadmin:sec...@my_database_ip/sermyadmin") > modparam("avpops", "avp_table", "usr_preferences") > > #try for fix error of Mobile Address > modparam("registrar", "received_avp", "$avp(s:rcv)") > modparam("nathelper", "received_avp", "$avp(s:rcv)") > > #Theo guide > > http://www.opensips.org/html/docs/modules/1.4.x/registrar.html > modparam("usrloc", "nat_bflag", 6) > modparam("nathelper", "ping_nated_only", 1) > modparam("nathelper", "sipping_bflag", 8) > > #modparam("nathelper", "rtpproxy_sock", > "udp:MY_RTPPROXY_IP:7890") > modparam("nathelper", "force_socket", > "udp:MY_RTPPROXY_IP:7890") > modparam("nathelper", "natping_interval", 89) > modparam("nathelper", "sipping_from", > "sip:1...@my_opensip_ip") > > > # main request routing logic > > route { > > # > > ----------------------------------------------------------------- > # Sanity Check Section > # > > ----------------------------------------------------------------- > if (!mf_process_maxfwd_header("10")) { > sl_send_reply("483", "Too Many Hops"); > exit; > } > > if (msg:len > max_len) { > sl_send_reply("513", "Message Overflow"); > exit; > } > > # > > ----------------------------------------------------------------- > # Record Route Section > # > > ----------------------------------------------------------------- > if (method!="REGISTER") { > record_route(); > } > > if (method=="BYE" || method=="CANCEL") { > unforce_rtp_proxy(); > } > > # > > ----------------------------------------------------------------- > # Loose Route Section > # > > ----------------------------------------------------------------- > if (loose_route()) { > > if ((method=="INVITE" || method=="REFER") && > !has_totag()) { > sl_send_reply("403", "Forbidden"); > exit; > } > > if (method=="INVITE") { > > if > (!proxy_authorize("MY_OPENSIPS_IP","subscriber")) { > proxy_challenge("MY_OPENSIPS_IP","0"); > exit; > } else if (!check_from()) { > sl_send_reply("403", "Use From=ID"); > exit; > } > consume_credentials(); > > if (nat_uac_test("19")) { > setflag(6); > force_rport(); > fix_nated_contact(); > } > force_rtp_proxy("l"); > } > route(1); > exit; > } > > # > > ----------------------------------------------------------------- > # Call Type Processing Section > # > > ----------------------------------------------------------------- > if (uri!=myself) { > route(4); > route(1); > exit; > } > > if (method=="ACK") { > route(1); > exit; > } else if (method=="CANCEL") { > route(1); > exit; > } else if (method=="INVITE") { > route(3); > exit; > } else if (method=="REGISTER") { > route(2); > exit; > } > > lookup("aliases"); > if (uri!=myself) { > route(4); > route(1); > exit; > } > > if (!lookup("location")) { > sl_send_reply("404", "User Not Found"); > exit; > } > > route(1); > } > > route[1] { > > # > > ----------------------------------------------------------------- > # Default Message Handler > # > > ----------------------------------------------------------------- > > t_on_reply("1"); > > if (!t_relay()) { > if (method=="INVITE" && isflagset(6)) { > unforce_rtp_proxy(); > }; > sl_reply_error(); > } > } > > route[2] { > > # > > ----------------------------------------------------------------- > # REGISTER Message Handler > # > > ---------------------------------------------------------------- > > if (!search("^Contact:[ ]*\*") && > nat_uac_test("19")) { > setflag(6); > fix_nated_register(); > force_rport(); > } > > sl_send_reply("100", "Trying"); > > if (!www_authorize("MY_OPENSIPS_IP","subscriber")) { > www_challenge("MY_OPENSIPS_IP","0"); > exit; > } > > #if (!check_to()) { > # sl_send_reply("401", "Unauthorized Loi Ngo"); > # exit; > #} > > consume_credentials(); > > if (!save("location")) { > sl_reply_error(); > }; > } > > route[3] { > > # > > ----------------------------------------------------------------- > # INVITE Message Handler > # > > ----------------------------------------------------------------- > #Drop because error Use From=ID when call. Open > #if (!proxy_authorize("","subscriber")) { > # proxy_challenge("","0"); > # exit; > #} else if (!check_from()) { > # sl_send_reply("403", "Use From=ID"); > # exit; > #} > > #consume_credentials(); > > if (nat_uac_test("19")) { > setflag(6); > } > > lookup("aliases"); > if (uri!=myself) { > route(4); > route(1); > exit; > } > > if (!lookup("location")) { > sl_send_reply("404", "User Not Found"); > exit; > } > > route(4); > route(1); > } > > route[4] { > > # > > ----------------------------------------------------------------- > # NAT Traversal Section > # > > ----------------------------------------------------------------- > > if (isflagset(6)) { > force_rport(); > fix_nated_contact(); > force_rtp_proxy(); > } > } > > onreply_route[1] { > > if (isflagset(6) && > status=~"(180)|(183)|2[0-9][0-9]") { > if (!search("^Content-Length:[ ]*0")) { > force_rtp_proxy(); > } > } > > if (nat_uac_test("1")) { > fix_nated_contact(); > } > } > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Users mailing list > [email protected] > <mailto:[email protected]> > <mailto:[email protected] > <mailto:[email protected]>> > > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > > > _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
