I fixed it! :) Sadly it was again my own mistake! I had written in-iface as in-face and out-face as out-face.
I think I need an eye test!. Thanks Mark. On Wed, 25 Mar 2020 at 12:33, Mark Farmer <[email protected]> wrote: > Now that I've corrected my silly xlog() lines I've got it partially > working, transcoding is working (correct codecs passed in either direction). > > However the connection & origin IP addresses are incorrect. I tried > reversing the in-face & out-face flags but that made no difference. > > Nearly there, any idea why I have the IP issue? > > > On Wed, 25 Mar 2020 at 11:06, Mark Farmer <[email protected]> wrote: > >> Hi Bogdan, thanks for the reply. >> >> That was what I ended up trying to do, hence the other question about >> deleting a line from a pvar but that's another thread. >> >> However, I do have a related question. >> Does the body modification also apply to a reply? The issue I have now is >> that when I try to apply modifications to the reply, they are not applied. >> >> I set $avp(CallFlow) before sending the INVITE and check it in the reply >> route in order to apply the rtpengine() flags but the outgoing reply has >> the wrong media IP & codec, >> >> onreply_route[DROUTING_RTPENGINE] { >> >> ... >> >> if ($rs=~"(2[0-9][0-9])|(183)" && has_body("application/sdp")) { >> xlog("CUSTOM_LOG: Processing reply $fU Gateway Attribues: >> $var(gw_attrs)"); >> fix_nated_contact(); >> if (is_from_gw("2") && $avp(CallFlow)=="TPTY_PSTN") { >> xlog("CUSTOM_LOG: Reply from PSTN to TPTY"); >> setflag(R_PSTN_TPTY); >> } else if (is_from_gw("2") && $avp(CallFlow)=="PBX_PSTN") >> { >> xlog("CUSTOM_LOG: Reply from PSTN to PBX"); >> setflag(R_PSTN_PBX); >> } else if (is_from_gw("3") && $avp(CallFlow)=="PBX_TPTY") >> { >> xlog("CUSTOM_LOG: Reply from TPTY to PBX"); >> setflag(R_TPTY_PBX); >> } else if (is_from_gw("3") && >> $avp(CallFlow)=="PSTN_TPTY") { >> xlog("CUSTOM_LOG: Reply from MSDR to PSTN"); >> setflag(R_TPTY_PSTN); >> } else if (is_from_gw("1") && $avp(CallFlow)=="PSTN_PBX") >> { >> xlog("CUSTOM_LOG: Reply from PBX to PSTN"); >> setflag(R_PBX_PSTN); >> } else if (is_from_gw("1") && $avp(CallFlow)=="TPTY_PBX") >> { >> xlog("CUSTOM_LOG: Reply from PBX to MSDR"); >> setflag(R_PBX_TPTY); >> } else xlog("CUSTOM_LOG: No match in on_reply route!"); >> } >> >> $var(R_PSTN_TPTY) = "RTP AVP ICE=remove in-face=external >> out-face=internal codec-mask-PCMA transcode-G722 replace-session-connection >> replace-origin"; >> $var(R_PSTN_PBX) = "RTP AVP ICE=remove in-face=external >> out-face=internal replace-session-connection replace-origin"; >> $var(R_TPTY_PBX) = "RTP AVP ICE=remove in-face=internal >> out-face=internal replace-session-connection replace-origin"; >> $var(R_TPTY_PSTN) = "RTP AVP ICE=remove in-face=internal >> out-face=external codec-mask-G722 transcode-PCMA replace-session-connection >> replace-origin"; >> $var(R_PBX_PSTN) = "RTP AVP ICE=remove in-face=internal >> out-face=external replace-session-connection replace-origin"; >> $var(R_PBX_TPTY) = "RTP AVP ICE=remove in-face=internal >> out-face=internal codec-mask-PCMA transcode-G722 replace-session-connection >> replace-origin"; >> >> if (isflagset(R_PSTN_TPTY)) { >> xlog("CUSTOM_LOG: Setting up media on reply using >> variable $$R_PSTN_TPTY $R_PSTN_TPTY"); >> rtpengine_answer("$var(R_PSTN_TPTY)"); >> } else if (isflagset(R_PSTN_PBX)) { >> xlog("CUSTOM_LOG: Setting up media on reply using >> variable $$R__PSTN_PBX $R_PSTN_PBX"); >> rtpengine_answer("$var(R_PSTN_PBX)"); >> } else if (isflagset(R_TPTY_PBX)) { >> xlog("CUSTOM_LOG: Setting up media on reply using >> variable $$R_TPTY_PBX $R_TPTY_PBX"); >> rtpengine_answer("$var(R_TPTY_PBX)"); >> } else if (isflagset(R_TPTY_PSTN)) { >> xlog("CUSTOM_LOG: Setting up media on reply using >> variable $$R_TPTY_PSTN $R_TPTY_PSTN"); >> rtpengine_answer("$var(R_TPTY_PSTN)"); >> } else if (isflagset(R_PBX_PSTN)){ >> xlog("CUSTOM_LOG: Setting up media on reply using >> variable $$R_PBX_PSTN $R_PBX_PSTN"); >> rtpengine_answer("$var(R_PBX_PSTN)"); >> } else if (isflagset(R_PBX_TPTY)) { >> xlog("CUSTOM_LOG: Setting up media on reply using >> variable $$R_PBX_TPTY $R_PBX_TPTY"); >> rtpengine_answer("$var(R_PBX_TPTY)"); >> } >> } >> >> >> On Fri, 20 Mar 2020 at 11:04, Bogdan-Andrei Iancu <[email protected]> >> wrote: >> >>> Hi Mark, >>> >>> You mentioned calling rtpengine before? if so, note that you cannot have >>> more than one change over the same part of the body. And rtpengine is >>> replacing the whole body, so you cannot change a prev change. >>> What you have to do is to tell rtpengine_offer() to provide the new >>> body into a variable (rather then changing the msg), so you can change the >>> value of the variable and push it into the msg afterwards. >>> >>> PS: why do you do record_route_set() + record_route() in the same time >>> ??? >>> >>> Regards, >>> >>> Bogdan-Andrei Iancu >>> >>> OpenSIPS Founder and Developer >>> https://www.opensips-solutions.com >>> OpenSIPS Summit, Amsterdam, May 2020 >>> https://www.opensips.org/events/Summit-2020Amsterdam/ >>> >>> On 3/19/20 1:21 PM, Mark Farmer wrote: >>> >>> Hi everyone >>> >>> I am trying to remove a line from the SDP resulting from >>> rtpengine_offer() but it's not working for me. Can anyone tell me what I am >>> doing wrong please? >>> >>> if (is_from_gw("2")) { >>> remove_hf("Contact","g"); >>> insert_hf("Contact: >>> <sip:$fU@$var(fqdn):5061;did=$DLG_did>\r\n"); >>> xlog("CUSTOM_LOG: Call to Microsoft - Adjusting SIP >>> Headers & SDP"); >>> set_advertised_address("$var(fqdn)"); >>> record_route_preset("my.fqdn:5061;transport=tls", >>> "XXX.XXX.XXX.XXX:5060"); >>> add_rr_param(";r2=on"); >>> record_route(); >>> if (replace_body("a=setup:actpass","")) { >>> xlog("CUSTOM_LOG: Removed a=setup:actpass line >>> from SDP"); >>> } >>> } >>> >>> I have also tried: >>> >>> if (replace_body("a=setup:actpass\r","")) >>> and >>> if (replace_body("a=setup:actpass\r\n","")) >>> >>> Many thanks >>> Mark. >>> >>> >>> _______________________________________________ >>> Users mailing >>> [email protected]http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> >>> >> >> -- >> Mark Farmer >> [email protected] >> > > > -- > Mark Farmer > [email protected] > -- Mark Farmer [email protected]
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
