Thank you sir for the prompt response, it helped me resolve the issue I was facing. 

Regards, 
Shah Hussain 


From: Alex Balashov <abalashov@evaristesys.com>
Sent: Monday, August 26, 2024 6:29 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Cc: Shah Hussain Khattak <shahhusayn@msn.com>
Subject: Re: [SR-Users] How to invoke RTPengine for re-Invite 200 OK within dialog
 
Hello,

You would invoke it the same way as with any other kind of INVITE: arm an onreply_route using t_on_reply():

request_route {
   ...

   t_on_reply("MAIN_REPLY");

   if(!t_relay())
      sl_reply_error();
}

onreply_route[MAIN_REPLY] {
   if(t_check_status("200") && sdp_content())
      rtpengine_manage("replace-origin replace-session-connection");
}

-- Alex

> On Aug 26, 2024, at 6:08 AM, Shah Hussain Khattak via sr-users <sr-users@lists.kamailio.org> wrote:
>
> Hello Experts,
>
> I need your advice on the following issue if you can kindly help.
>
> I am working on a hold call flow:
>
> UA - > Kamailio (RTP Engine) - > FS
>
> initial call establishes fine, RTP engine is invoked and SDP media IP is modified correctly. Then
>
>     • I am receiving a hold re-invite with a send-only
>     • I see Kamailio is changing the media IP in the SDP (with my RTP engine IP) when it sends the Invite to my core FS server.
>     • FS sends 200 OK with a=recvonly
>     • Kamailio relays the message as it is to the other leg.
>
>
> can someone advise me, on how can I invoke rtpengine at step 4, so the SDP is sent with my media server IP in the 200 OK?
>
> --- 200 OK from FS ----
>
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP 13.54.01.02:5060;branch=z9hG4bKd2e8.8a573af8d927f67c1db4550676f8be88.0;i=1
> Via: SIP/2.0/TCP 192.168.10.117:51280;received=218.33.01.02;rport=51280;branch=z9hG4bKPj7d1d8968830d4ed3922eec7da7cdc17c;alias
> Record-Route: <sip:13.54.01.02:5060;r2=on;lr=on>
> Record-Route: <sip:13.54.01.02;transport=tcp;r2=on;lr=on>
> From: <sip:0403225908@trunk.xyz.corp>;tag=6a180ffa7f824972a2c59ba47f293acb
> To: <sip:+61285038000@trunk.xyz.corp>;tag=DZrpcpgS1BDKF
> Call-ID: 4154062196634c34a2dbcb6b612bf44c
> CSeq: 12263 INVITE
> Contact: <sip:+61285038000@54.88.54.88:5060;transport=udp>
> User-Agent: UserAgentX/v1.0
> Accept: application/sdp
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
> Require: timer
> Supported: timer, path, replaces
> Session-Expires: 1800;refresher=uac
> Content-Type: application/sdp
> Content-Disposition: session
> Content-Length: 266
>
> v=0
> o=FreeSWITCH 1724635755 1724635757 IN IP4 54.88.54.88
> s=FreeSWITCH
> c=IN IP4 54.88.54.88
> t=0 0
> m=audio 21202 RTP/AVP 8 101
> a=rtpmap:8 PCMA/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> a=recvonly
> a=ptime:20
> a=rtcp:21203 IN IP4 54.88.54.88
>
>
>
> --- 200 OK relayed towards the UA ----
>
> 2024/08/26 17:22:39.923639 172.16.8.126:5060 -> 218.33.78.33:51280
> SIP/2.0 200 OK
> Via: SIP/2.0/TCP 192.168.10.117:51280;received=218.33.01.02;rport=51280;branch=z9hG4bKPj7d1d8968830d4ed3922eec7da7cdc17c;alias
> Record-Route: <sip:13.54.01.02:5060;r2=on;lr=on>
> Record-Route: <sip:13.54.01.02;transport=tcp;r2=on;lr=on>
> From: <sip:0403225908@trunk.xyz.corp>;tag=6a180ffa7f824972a2c59ba47f293acb
> To: <sip:+61285038000@trunk.xyz.corp>;tag=DZrpcpgS1BDKF
> Call-ID: 4154062196634c34a2dbcb6b612bf44c
> CSeq: 12263 INVITE
> Contact: <sip:+61285038000@54.88.54.88:5060;transport=udp>
> User-Agent: UserAgentX/v1.0
> Accept: application/sdp
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
> Require: timer
> Supported: timer, path, replaces
> Session-Expires: 1800;refresher=uac
> Content-Type: application/sdp
> Content-Disposition: session
> Content-Length: 266
>
> v=0
> o=FreeSWITCH 1724635755 1724635757 IN IP4 54.88.54.88
> s=FreeSWITCH
> c=IN IP4 54.88.54.88
> t=0 0
> m=audio 21202 RTP/AVP 8 101
> a=rtpmap:8 PCMA/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> a=recvonly
> a=ptime:20
> a=rtcp:21203 IN IP4 54.88.54.88
>
>
> my configs for within dialog route:
>
> #####
>
> route[WITHINDLG] {
>
>
>    append_hf("X-Test-Header: route_WITHINDLG\r\n");
>
>
>    if (has_totag()) {
>               if (loose_route()) {
>
>             if (is_method("BYE")) {
>                 setflag(FLT_ACC); # do accounting ...
>                 setflag(FLT_ACCFAILED); # ... even if the transaction fails
>             }
>
>             if (is_method("ACK")) {
>                 xlog("L_INFO", "Relaying ACK\n");
>             }
>
>
>         if (is_method("INVITE|UPDATE")) {
>             if (has_body("application/sdp") && search_body("m=image") && search_body("T38")) {
>                xlog("L_INFO", "T.38 re-INVITE detected, skipping rtpengine invocation\n");
>             } else {
>                xlog("L_INFO", "Non-T.38 INVITE detected, invoking rtpengine\n");
>
>                rtpengine_manage("replace-origin replace-session-connection");
>             }
>           }
>
>
>           route(RELAY);
>
>         } else {
>             if (is_method("SUBSCRIBE") && uri == myself) {
>                 route(PRESENCE);
>                 exit;
>             }
>             if (is_method("ACK")) {
>                 if (t_check_trans()) {
>                     t_relay();
>                     exit;
>                 } else {
>                     exit;
>                 }
>             }
>             sl_send_reply("404","Not here");
>         }
>         exit;
>     }
>
> }
>
> #####
>
>
> looking forward to your usual guidance.
>
> Thank you!
>
> Regards,
> Shah __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
> To unsubscribe send an email to sr-users-leave@lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to the sender!
> Edit mailing list options or unsubscribe:


--
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web: https://evaristesys.com
Tel: +1-706-510-6800