Thank you sir for the prompt response, it helped me resolve the issue I was facing.
Regards, Shah Hussain ________________________________ From: Alex Balashov <[email protected]> Sent: Monday, August 26, 2024 6:29 PM To: Kamailio (SER) - Users Mailing List <[email protected]> Cc: Shah Hussain Khattak <[email protected]> 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 > <[email protected]> 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:[email protected]>;tag=6a180ffa7f824972a2c59ba47f293acb > To: <sip:[email protected]>;tag=DZrpcpgS1BDKF > Call-ID: 4154062196634c34a2dbcb6b612bf44c > CSeq: 12263 INVITE > Contact: <sip:[email protected]: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:[email protected]>;tag=6a180ffa7f824972a2c59ba47f293acb > To: <sip:[email protected]>;tag=DZrpcpgS1BDKF > Call-ID: 4154062196634c34a2dbcb6b612bf44c > CSeq: 12263 INVITE > Contact: <sip:[email protected]: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 [email protected] > 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
__________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to [email protected] Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
