Hi, it seems to me that I don't grasp b2bua.
The purpose of this script is very simple : - handle registration - on receiving an invite then put the 2 entities in contact with each other. For some reason, b2bua can't route the reply. Log: Jun 18 04:55:20 debian10opensips31 /data/opensips/sbin/opensips[3041]: route[0] INVITE sip:[email protected];transport=UDP SIP/2.0#015#012Via: SIP/2.0/UDP 192.168.68.104:44072;branch=z9hG4bK-524287-1---519c17eab6690bb8;rport#015#012Max-Forwards: 70#015#012Contact: <sip:[email protected]:44072;transport=UDP>#015#012To: <sip:[email protected]>#015#012From: <sip:[email protected];transport=UDP>;tag=8e780c78#015#012Call-ID: ywvufmDkg195whyiReyxBw..#015#012CSeq: 1 INVITE#015#012Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE#015#012Content-Type: application/sdp#015#012User-Agent: Zoiper rv2.10.12.3-mod#015#012Allow-Events: presence, kpml, talk#015#012Content-Length: 185#015#012#015#012v=0#015#012o=Zoiper 1624006519564 1 IN IP4 192.168.68.104#015#012s=Z#015#012c=IN IP4 192.168.68.104#015#012t=0 0#015#012m=audio 44128 RTP/AVP 0 101 8#015#012a=rtpmap:101 telephone-event/8000#015#012a=fmtp:101 0-16#015#012a=sendrecv#015 Jun 18 04:55:20 debian10opensips31 /data/opensips/sbin/opensips[3041]: INFO:b2b_logic:b2bl_add_client: adding entity [0x7f8e0f112f88]->[B2B.274.5538153.1624006520] to tuple [0x7f8e0f10cd48]->[274.0] Jun 18 04:55:20 debian10opensips31 /data/opensips/sbin/opensips[3041]: route[0] INVITE sip:[email protected] SIP/2.0#015#012Via: SIP/2.0/UDP 192.168.68.115:5060;branch=z9hG4bKba3f.67a6a393.0#015#012To: sip:[email protected]:38419#015#012From: <sip:[email protected];transport=UDP>;tag=29b4ae0b3643070a47d5f40529fb2fbd-cdb7#015#012CSeq: 2 INVITE#015#012Call-ID: B2B.274.5538153.1624006520#015#012Max-Forwards: 70#015#012Content-Length: 185#015#012User-Agent: OpenSIPS (3.2.0-beta (x86_64/linux))#015#012Content-Type: application/sdp#015#012Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE#015#012Contact: <sip:192.168.68.115>#015#012#015#012v=0#015#012o=Zoiper 1624006519564 1 IN IP4 192.168.68.104#015#012s=Z#015#012c=IN IP4 192.168.68.104#015#012t=0 0#015#012m=audio 44128 RTP/AVP 0 101 8#015#012a=rtpmap:101 telephone-event/8000#015#012a=fmtp:101 0-16#015#012a=sendrecv#015 Jun 18 04:55:20 debian10opensips31 /data/opensips/sbin/opensips[3041]: INFO:b2b_logic:b2bl_add_client: adding entity [0x7f8e0f119368]->[B2B.274.5538153.1624006520] to tuple [0x7f8e0f1131c8]->[274.1] Jun 18 04:55:21 debian10opensips31 /data/opensips/sbin/opensips[3040]: callid=B2B.274.5538153.1624006520: route[b2b_reply]: incoming reply mb [SIP/2.0 180 Ringing#015#012Via: SIP/2.0/UDP 192.168.68.115:5060;branch=z9hG4bKca3f.1c958c27.0#015#012Contact: <sip:[email protected]:38419>#015#012To: <sip:[email protected]:38419>;tag=1095d332#015#012From: <sip:[email protected];transport=UDP>;tag=29b4ae0b3643070a47d5f40529fb2fbd-cdb7#015#012Call-ID: B2B.274.5538153.1624006520#015#012CSeq: 3 INVITE#015#012Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE#015#012User-Agent: Z 5.3.8 rv2.9.30-mod#015#012Allow-Events: presence, kpml, talk#015#012Content-Length: 0#015#012#015#012] Jun 18 04:55:23 debian10opensips31 /data/opensips/sbin/opensips[3041]: INFO:b2b_logic:b2b_add_dlginfo: Dialog pair: [B2B.274.5538153.1624006520] - [B2B.274.5538153.1624006520] Jun 18 04:55:23 debian10opensips31 /data/opensips/sbin/opensips[3041]: callid=B2B.274.5538153.1624006520: route[b2b_reply]: incoming reply mb [SIP/2.0 200 OK#015#012Via: SIP/2.0/UDP 192.168.68.115:5060;branch=z9hG4bKca3f.1c958c27.0#015#012Contact: <sip:[email protected]:38419>#015#012To: <sip:[email protected]:38419>;tag=1095d332#015#012From: <sip:[email protected];transport=UDP>;tag=29b4ae0b3643070a47d5f40529fb2fbd-cdb7#015#012Call-ID: B2B.274.5538153.1624006520#015#012CSeq: 3 INVITE#015#012Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE#015#012Content-Type: application/sdp#015#012User-Agent: Z 5.3.8 rv2.9.30-mod#015#012Allow-Events: presence, kpml, talk#015#012Content-Length: 165#015#012#015#012v=0#015#012o=Z 0 1 IN IP4 192.168.68.109#015#012s=Z#015#012c=IN IP4 192.168.68.109#015#012t=0 0#015#012m=audio 8000 RTP/AVP 8 101#015#012a=rtpmap:101 telephone-event/8000#015#012a=fmtp:101 0-16#015#012a=sendrecv#015#012] johan@debian10opensips31:~$ Script below: ####### Global Parameters ######### /* uncomment the following lines to enable debugging */ #debug_mode=yes log_level=3 log_stderror=no log_facility=LOG_LOCAL0 udp_workers=4 /* uncomment the next line to enable the auto temporary blacklisting of not available destinations (default disabled) */ #disable_dns_blacklist=no /* uncomment the next line to enable IPv6 lookup after IPv4 dns lookup failures (default disabled) */ #dns_try_ipv6=yes socket=udp:*:5060 ####### Modules Section ######## #set module path mpath="/data/opensips/lib64/opensips/modules/" #### SIGNALING module loadmodule "signaling.so" #### StateLess module loadmodule "sl.so" #### Transaction Module loadmodule "tm.so" modparam("tm", "fr_timeout", 5) modparam("tm", "fr_inv_timeout", 30) modparam("tm", "restart_fr_on_each_reply", 0) modparam("tm", "onreply_avp_mode", 1) #### MAX ForWarD module loadmodule "maxfwd.so" #### SIP MSG OPerationS module loadmodule "sipmsgops.so" #### FIFO Management Interface loadmodule "mi_fifo.so" modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo") modparam("mi_fifo", "fifo_mode", 0666) #### USeR LOCation module loadmodule "usrloc.so" modparam("usrloc", "nat_bflag", "NAT") modparam("usrloc", "working_mode_preset", "single-instance-no-db") #### REGISTRAR module loadmodule "registrar.so" modparam("registrar", "tcp_persistent_flag", "TCP_PERSISTENT") loadmodule "proto_udp.so" loadmodule "mi_datagram.so" loadmodule "event_datagram.so" modparam("mi_datagram", "socket_name", "udp:127.0.0.1:8080") loadmodule "b2b_entities.so" loadmodule "b2b_logic.so" modparam("b2b_logic", "script_req_route", "b2b_logic_request") modparam("b2b_logic", "script_reply_route", "b2b_reply") #### cfgutils loadmodule "cfgutils.so" #### textops loadmodule "textops.so" #### nathelper loadmodule "nathelper.so" #### rr loadmodule "rr.so" ####### Routing Logic ######## # main request routing logic route { xlog("route[0] $mb"); if (!mf_process_maxfwd_header(10)) { send_reply(483,"Too Many Hops"); exit; } # preloaded route checking if (loose_route()) { xlog("LOOSE ROUTING $mb"); route(relay); } # requests for my domain if (is_method("PUBLISH|SUBSCRIBE")) { send_reply(503, "Service Unavailable"); exit; } if (is_method("REGISTER")) { if (!save("location")) sl_reply_error(); exit; } if ($rU==NULL) { # request with no Username in RURI send_reply(484,"Address Incomplete"); exit; } lookup("location","m"); if (is_method("INVITE") && !has_totag()) { # create the server entity b2b_server_new("caller",$fu); # create the initial client entity, to connect the caller with the callee b2b_client_new("callee", $tu); # initialize B2B session for the "refer" scenario b2b_init_request("refer"); } } route[b2b_logic_request] { xlog("callid=$ci: route b2b logic request: received message $mb"); if ($rm != "REFER") { # for requests other than REFER, no special actions needs to be done, # just pass the request to the peer b2b_pass_request(); exit; } # end dialog with the referrer b2b_send_reply(202, "Accepted"); b2b_end_dlg_leg(); # create the client entity corresponding to # the user specified in the 'Refer-To' header b2b_client_new("referee", $hdr(Refer-To)); # bridge the referrer's peer with the referee b2b_bridge("peer", "referee"); } route[b2b_reply] { xlog("callid=$ci: route[b2b_reply]: incoming reply mb [$mb]\n"); } route[relay] { # send it out now; use stateful forwarding as it works reliably # even for UDP2TCP xlog("callid=$ci: route[relay]: incoming message mb [$mb]\n"); if (!t_relay()) { sl_reply_error(); }; exit; } Can somebody please give a hint on what I am doing wrong ? wkr, _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
