Hi all. In my scenario I try to use dynamic routing and I have a problem with the P-Asserted Identity field. When the proxy tries to send the INVITE to the first gateway selected from DRouting module by the function do_routing, there is only one PAI field, but if that gateway is down, at the second attempt to next gateway, the INVITE contains two PAI fields identicals.
This is a piece of code: ######################################################################## # Request route 'base-outbound' ######################################################################## route[2] { if(is_present_hf("P-Asserted-Identity")) { remove_hf("P-Asserted-Identity"); } if(is_present_hf("Remote-Party-ID")) { remove_hf("Remote-Party-ID"); } if(is_avp_set("$avp(s:caller_cli)/s")) { if(!isflagset(28)) { xlog("L_INFO", "Set caller CLI '$avp(s:caller_cli)' - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); append_hf("P-Asserted-Identity: <$avp(s:caller_cli)>\r\n"); } } route(14); t_on_reply("1"); if(!isflagset(21)) { t_on_failure("1"); } if(is_present_hf("Proxy-Authorization")) { consume_credentials(); } xlog("L_INFO", "Request leaving server, D-URI='$du' - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); if(!t_relay()) { sl_reply_error(); } exit; } ######################################################################## # Request route 'invite-to-external' ######################################################################## route[6] { if(isflagset(20)) { xlog("L_INFO", "Call to foreign domain - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); route(2); exit; } if(!isflagset(23)) { # don't allow calls relaying from PSTN to PSTN, if not explicitely forwarded if(uri=~ "^sip:[0-9]+@") { xlog("L_INFO", "Call to PSTN\n"); do_routing(); xlog("L_INFO", "first attempt is $ru, attributes are $avp(s:drattrs)\n"); if(!goes_to_gw()) { xlog("L_ERR", "No PSTN gateways available - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); sl_send_reply("503", "PSTN Termination Currently Unavailable"); exit; } setflag(21); t_on_failure("2"); route(2); exit; } } xlog("L_INFO", "Call to unknown user - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); sl_send_reply("404", "User Not Found"); exit; } ######################################################################## # Failure route 'pstn-failover' ######################################################################## failure_route[2] { xlog("L_INFO", "Failure route for PSTN entered - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); route(9); if(!use_next_gw()) { xlog("L_ERR", "Failed to select next PSTN gateway - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); exit; } xlog("L_INFO", "selected next gateway $ru, attributes are $avp(s:drattrs)\n"); t_on_failure("2"); route(2); } These are the INVITEs: U 10.10.45.172:5060 -> 10.10.45.86:5060 INVITE sip:22230...@10.10.45.86 SIP/2.0. Record-Route: <sip:10.10.45.172;lr=on;ftag=2061433461944847689>. Via: SIP/2.0/UDP 10.10.45.172;branch=z9hG4bK8586.95959e37.0. Via: SIP/2.0/UDP 10.10.45.102:1025;received=10.10.45.102;rport=1025;branch=z9hG4bK0a0a2d660000001549d9d2ae0ccb24110000004a. Content-Length: 366. Contact: <sip:1...@10.10.45.102:1025>. Call-ID: b998bb4a-1dd1-11b2-8cd3-d001388a8...@10.10.45.102. Content-Type: application/sdp. CSeq: 2 INVITE. From: "Sjphone laptop_User"<sip:1...@10.10.45.172>;tag=2061433461944847689. Max-Forwards: 69. To: <sip:30...@10.10.45.172>. User-Agent: SJphone/1.60.299a/L (SJ Labs). P-Asserted-Identity: <sip:003930...@10.10.45.172>. . v=0. o=- 3448000814 3448000814 IN IP4 10.10.45.102. s=SJphone. c=IN IP4 10.10.45.102. t=0 0. a=direction:active. m=audio 49154 RTP/AVP 3 97 98 110 8 0 101. a=rtpmap:3 GSM/8000. a=rtpmap:97 iLBC/8000. a=rtpmap:98 iLBC/8000. a=fmtp:98 mode=20. a=rtpmap:110 speex/8000. a=rtpmap:8 PCMA/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11,16. U 10.10.45.172:5060 -> 10.10.45.227:5060 INVITE sip:22230...@10.10.45.227 SIP/2.0. Record-Route: <sip:10.10.45.172;lr=on;ftag=2061433461944847689>. Via: SIP/2.0/UDP 10.10.45.172;branch=z9hG4bK8586.95959e37.1. Via: SIP/2.0/UDP 10.10.45.102:1025;received=10.10.45.102;rport=1025;branch=z9hG4bK0a0a2d660000001549d9d2ae0ccb24110000004a. Content-Length: 366. Contact: <sip:1...@10.10.45.102:1025>. Call-ID: b998bb4a-1dd1-11b2-8cd3-d001388a8...@10.10.45.102. Content-Type: application/sdp. CSeq: 2 INVITE. From: "Sjphone laptop_User"<sip:1...@10.10.45.172>;tag=2061433461944847689. Max-Forwards: 69. To: <sip:30...@10.10.45.172>. User-Agent: SJphone/1.60.299a/L (SJ Labs). P-Asserted-Identity: <sip:003930...@10.10.45.172>. P-Asserted-Identity: <sip:003930...@10.10.45.172>. . v=0. o=- 3448000814 3448000814 IN IP4 10.10.45.102. s=SJphone. c=IN IP4 10.10.45.102. t=0 0. a=direction:active. m=audio 49154 RTP/AVP 3 97 98 110 8 0 101. a=rtpmap:3 GSM/8000. a=rtpmap:97 iLBC/8000. a=rtpmap:98 iLBC/8000. a=fmtp:98 mode=20. a=rtpmap:110 speex/8000. a=rtpmap:8 PCMA/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11,16. Thanks in advance. Matteo Marzuola ---------------------------------------------------------------------------- Vuoi essere presente online? Vuoi dare voce alla tua attivita`? Acquista un dominio su domini.interfree.it. A partire da 18,59 euro ---------------------------------------------------------------------------- _______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users