[OpenSIPS-Users] RTP Relay issue

Răzvan Crainea razvan at opensips.org
Mon Sep 9 08:29:23 UTC 2024


Hi, Julien!

Can you please run a test with debug logs (log_level 5) and post 
somewhere the logs?

Best regards,

Răzvan Crainea
OpenSIPS Core Developer / SIPhub CTO
http://www.opensips-solutions.com / https://www.siphub.com

On 9/6/24 5:46 PM, Julien Pawlak via Users wrote:
> Hi Răzvan,
> 
> I've just tested with version 3.4.8 and the situation has evolved.
> 
> This is what I have with a call of one side :
> 
> opensips conf:
> 
> $rtp_relay(iface) = "external";
> $rtp_relay_peer(iface) = "internal";
> rtp_relay_engage("rtpengine");
> 
> Debug result:
> 
> DBG:rtp_relay:rtp_relay_answer: leg=callee callid=[] ftag=[] ttag=[] 
> type=[] in-iface=[external] out-iface=[external] ctx-flags=[] flags=[] 
> peer-flags=[]
> 
> rtp_relay_list mi command:
> 
> [
> {
> "callid": "57c017bc5c8ccc3c5c29b2d57f6f0722 at x.x.x.x:5060",
> "caller": {
> "tag": "as2d4f2687",
> "interface": "external"
> },
> "callee": {
> "tag": "as2d4f2687",
> "interface": "external"
> },
> "relay": "rtpengine",
> "node": "udp:y.y.y.y:2223",
> "set": 0,
> "ctx": {
> "from-tag": "as2d4f2687",
> "to-tag": "DC09BE8B_nab_FFFF_isp_FFFF_cco_FFFF_igo_FFFF_mgt_401C"
> }
> }
> ]
> 
> And for a call from the other side:
> 
> opensips conf:
> 
> $rtp_relay(iface) = "internal";
> $rtp_relay_peer(iface) = "external";
> rtp_relay_engage("rtpengine");
> 
> Debug result:
> 
> DBG:rtp_relay:rtp_relay_answer: leg=callee callid=[] ftag=[] ttag=[] 
> type=[] in-iface=[internal] out-iface=[internal] ctx-flags=[] flags=[] 
> peer-flags=[]
> 
> rtp_relay_list mi command:
> 
> [
> {
> "callid": "0201FFFFF1F526A9",
> "caller": {
> "tag": "0E0AD956_nab_FFFF_isp_FFFF_cco_FFFF_igo_FFFF_mgt_4125",
> "interface": "internal"
> },
> "callee": {
> "tag": "0E0AD956_nab_FFFF_isp_FFFF_cco_FFFF_igo_FFFF_mgt_4125",
> "interface": "internal"
> },
> "relay": "rtpengine",
> "node": "udp:y.y.y.y:2223",
> "set": 0,
> "ctx": {
> "from-tag": "0E0AD956_nab_FFFF_isp_FFFF_cco_FFFF_igo_FFFF_mgt_4125",
> "to-tag": "as36a555a0"
> }
> }
> ]
> 
> It seems that with this version the code just take $rtp_relay(iface) 
> value, put it into $rtp_relay_peer and ignore $rtp_relay_peer value.
> 
> Have you any other idea ?
> 
> ---
> J.
> 
> Le 06/09/2024 15:57, Julien Pawlak a écrit :
> 
>> Hi Răzvan !
>>
>> Thank you for your reply !
>>
>> Below the result of opensips -V command:
>>
>> version: opensips 3.4.6 (x86_64/linux)
>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, 
>> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, 
>> MAX_URI_SIZE 1024, BUF_SIZE 65535
>> poll method support: poll, epoll, sigio_rt, select.
>> git revision: ab10b6892
>> main.c compiled on 13:42:08 Jul 30 2024 with gcc 12
>>
>> I'll try opensips version 3.4.8 (the latest) and come back to you.
>>
>> Rgds
>>
>> ---
>> J
>>
>> Le 06/09/2024 05:55, 老李-FSGUI,电话机器人 a écrit :
>>
>> Is it configured like this
>>
>> $var(rtpengine_flags) = "RTP/AVP replace-session-connection 
>> replace-origin ICE=remove address-family=IP4 out-iface=pub in-iface=pub";
>> or
>> $var(rtpengine_flags) = "RTP/AVP replace-session-connection 
>> replace-origin ICE=remove address-family=IP4 in-iface=priv 
>> out-iface=priv";
>>
>> rtpengine_offer("$var(rtpengine_flags)");
>>
>> and rtpengine param for this
>>
>> ./rtpengine -p /var/run/rtpengine.pid -i priv/172.33.1.xx -i 
>> pub/12.xx.xxx.1 -n 172.33.1.xx:60000 -c 172.33.1.xx:60001 -m 50000 -M 
>> 55000 -f -E -L 7
>>
>> -------------------------
>>
>> 老李-FSGUI,电话机器人
>> nway at foxmail.com
>>
>> ------------------ 原始邮件 ------------------
>>
>> 发件人: "Julien Pawlak" <users at lists.opensips.org>;
>> 发送时间: 2024年9月5日(星期四) 晚上10:29
>> 收件人: "Daniel Zanutti"<daniel.zanutti at gmail.com>;
>> 抄送: "OpenSIPS users mailling list"<users at lists.opensips.org>;
>> 主题: Re: [OpenSIPS-Users] RTP Relay issue
>>
>> Hello Daniel,
>>
>> Thank you for your reply !
>>
>> I don't think this problem is du to rtpengine. When i use commands 
>> rtpengine_offer, rtpengine_answer etc. all work fine. So, rtpengine 
>> side is ok. I want to use opensips rtp_relay module to simplify 
>> configuration because I have multiple rtpengine servers.
>>
>> As I wrote, when I set this in opensips configuration file :
>>
>> $rtp_relay(iface) = "internal";
>>
>> $rtp_relay_peer(iface) = "external";
>>
>> We see in opensips logs that the parameter $rtp_relay_peer(iface) = 
>> "external" does not appairs :
>>
>> => DBG:rtp_relay:rtp_relay_offer: callid=[] ftag=[] ttag=[] type=[] 
>> in-iface=[internal] out-iface=[] ctx-flags=[] flags=[] peer-flags=[]
>>
>> $rtp_relay(iface) = "internal"; => in-iface=[internal] => OK
>>
>> $rtp_relay_peer(iface) = "external"; => out-iface=[] => KO
>>
>> So, this error appairs : ERROR:rtpengine:parse_flags: in-iface value 
>> without out-iface :(
>>
>> ---
>> J
>>
>> Le 05/09/2024 15:46, Daniel Zanutti a écrit :
>>
>> Julien
>>
>> Since the problem is on RTP, it's related to the rtpengine you're 
>> using. Maybe you could ask for help on rtpengine forum.
>>
>> On Thu, Sep 5, 2024 at 8:50 AM Julien Pawlak via Users 
>> <users at lists.opensips.org> wrote:
>>
>> Hello,
>>
>> Could I get some feedback please? I'm really stuck :(
>>
>> ---
>> J
>>
>> Le 29/08/2024 17:25, Julien Pawlak a écrit :
>>
>> Hello
>>
>> I have a problem with RTP Relay module in the initial invite request.
>>
>> I have 2 rtpengine servers with both 2 interfaces, internal and external.
>>
>> When I add the lien below, there is no problem. Packets come and leave 
>> through good interfaces.
>>
>> $rtp_relay = "out-iface=internal in-iface=external"
>>
>> But, when I execute the mi command to switch rtpengine server, packets 
>> don't come and leave through good interfaces.
>>
>> I see that I have to put this lines :
>>
>> $rtp_relay(iface) = "external";
>>
>> $rtp_relay_peer(iface) = "internal";
>>
>> But, that doesn't work too, I have this in debug mode :
>>
>> août 29 17:04:44 opensips-1 /usr/local/sbin/opensips[844747]: 
>> DBG:rtp_relay:rtp_relay_offer: callid=[] ftag=[] ttag=[] type=[] 
>> in-iface=[internal] out-iface=[] ctx-flags=[] flags=[] peer-flags=[]
>> août 29 17:04:44 opensips-1 /usr/local/sbin/opensips[844747]: 
>> ERROR:rtpengine:parse_flags: in-iface value without out-iface
>> août 29 17:04:44 opensips-1 /usr/local/sbin/opensips[844747]: 
>> ERROR:rtpengine:rtpe_function_call: could not parse flags
>> août 29 17:04:44 opensips-1 /usr/local/sbin/opensips[844747]: 
>> ERROR:rtp_relay:rtp_relay_offer: could not engage offer!
>>
>> Please help.
>>
>> Thank you
>>
>> -- 
>> J. _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> 
> Hi Răzvan,
> 
> 
> I've just tested with version 3.4.8 and the situation has evolved.
> 
> 
> This is what I have with a call of one side :
> 
> opensips conf:
> 
> $rtp_relay(iface) = "external";
> $rtp_relay_peer(iface) = "internal";
> rtp_relay_engage("rtpengine");
> 
> Debug result:
> 
> DBG:rtp_relay:rtp_relay_answer: leg=callee callid=[] ftag=[] ttag=[] 
> type=[] in-iface=[external] out-iface=[external] ctx-flags=[] flags=[] 
> peer-flags=[]
> 
> rtp_relay_list mi command:
> 
> [
> {
> "callid": "57c017bc5c8ccc3c5c29b2d57f6f0722 at x.x.x.x:5060",
> "caller": {
> "tag": "as2d4f2687",
> "interface": "external"
> },
> "callee": {
> "tag": "as2d4f2687",
> "interface": "external"
> },
> "relay": "rtpengine",
> "node": "udp:y.y.y.y:2223",
> "set": 0,
> "ctx": {
> "from-tag": "as2d4f2687",
> "to-tag": "DC09BE8B_nab_FFFF_isp_FFFF_cco_FFFF_igo_FFFF_mgt_401C"
> }
> }
> ]
> 
> 
> And for a call from the other side:
> 
> opensips conf:
> 
> $rtp_relay(iface) = "internal";
> $rtp_relay_peer(iface) = "external";
> rtp_relay_engage("rtpengine");
> 
> Debug result:
> 
> DBG:rtp_relay:rtp_relay_answer: leg=callee callid=[] ftag=[] ttag=[] 
> type=[] in-iface=[internal] out-iface=[internal] ctx-flags=[] flags=[] 
> peer-flags=[]
> 
> rtp_relay_list mi command:
> 
> [
> {
> "callid": "0201FFFFF1F526A9",
> "caller": {
> "tag": "0E0AD956_nab_FFFF_isp_FFFF_cco_FFFF_igo_FFFF_mgt_4125",
> "interface": "internal"
> },
> "callee": {
> "tag": "0E0AD956_nab_FFFF_isp_FFFF_cco_FFFF_igo_FFFF_mgt_4125",
> "interface": "internal"
> },
> "relay": "rtpengine",
> "node": "udp:y.y.y.y:2223",
> "set": 0,
> "ctx": {
> "from-tag": "0E0AD956_nab_FFFF_isp_FFFF_cco_FFFF_igo_FFFF_mgt_4125",
> "to-tag": "as36a555a0"
> }
> }
> ]
> 
> 
> It seems that with this version the code just take $rtp_relay(iface) 
> value, put it into $rtp_relay_peer and ignore $rtp_relay_peer value.
> 
> 
> Have you any other idea ?
> 
> ---
> J.
> 
> 
> Le 06/09/2024 15:57, Julien Pawlak a écrit :
> 
>> Hi Răzvan !
>>
>>
>> Thank you for your reply !
>>
>>
>> Below the result of opensips -V command:
>>
>> version: opensips 3.4.6 (x86_64/linux)
>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, 
>> Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, 
>> MAX_URI_SIZE 1024, BUF_SIZE 65535
>> poll method support: poll, epoll, sigio_rt, select.
>> git revision: ab10b6892
>> main.c compiled on 13:42:08 Jul 30 2024 with gcc 12
>>
>>
>> I'll try opensips version 3.4.8 (the latest) and come back to you.
>>
>>
>> Rgds
>>
>> ---
>> J
>>
>>
>> Le 06/09/2024 05:55, 老李-FSGUI,电话机器人 a écrit :
>>
>>     Is it configured like this
>>     $var(rtpengine_flags) ="RTP/AVP replace-session-connection
>>     replace-origin ICE=remove address-family=IP4 out-iface=pub
>>     in-iface=pub";
>>     or
>>     $var(rtpengine_flags) ="RTP/AVP replace-session-connection
>>     replace-origin ICE=remove address-family=IP4 in-iface=priv
>>     out-iface=priv";
>>     rtpengine_offer("$var(rtpengine_flags)");
>>     and rtpengine param for this
>>     ./rtpengine -p /var/run/rtpengine.pid -i priv/172.33.1.xx -i
>>     pub/12.xx.xxx.1 -n 172.33.1.xx:60000 -c 172.33.1.xx:60001 -m 50000
>>     -M 55000 -f -E -L 7
>>     ------------------------------------------------------------------------
>>     	
>>     老李-FSGUI,电话机器人
>>     nway at foxmail.com
>>
>>     ------------------ 原始邮件 ------------------
>>     *发件人:* "Julien Pawlak" <users at lists.opensips.org>;
>>     *发送时间:* 2024年9月5日(星期四) 晚上10:29
>>     *收件人:* "Daniel Zanutti"<daniel.zanutti at gmail.com>;
>>     *抄送:* "OpenSIPS users mailling list"<users at lists.opensips.org>;
>>     *主题:* Re: [OpenSIPS-Users] RTP Relay issue
>>
>>     Hello Daniel,
>>
>>
>>     Thank you for your reply !
>>
>>
>>     I don't think this problem is du to rtpengine. When i use commands
>>     rtpengine_offer, rtpengine_answer etc. all work fine. So,
>>     rtpengine side is ok. I want to use opensips rtp_relay module to
>>     simplify configuration because I have multiple rtpengine servers.
>>
>>
>>     As I wrote, when I set this in opensips configuration file :
>>
>>     $rtp_relay(iface) = "internal";
>>
>>     $rtp_relay_peer(iface) = "external";
>>
>>
>>     We see in opensips logs that the parameter $rtp_relay_peer(iface)
>>     = "external" does not appairs :
>>
>>     => DBG:rtp_relay:rtp_relay_offer: callid=[] ftag=[] ttag=[]
>>     type=[] in-iface=[internal] out-iface=[] ctx-flags=[] flags=[]
>>     peer-flags=[]
>>
>>
>>     $rtp_relay(iface) = "internal"; => in-iface=[internal] => OK
>>
>>     $rtp_relay_peer(iface) = "external"; => out-iface=[] => KO
>>
>>
>>     So, this error appairs : ERROR:rtpengine:parse_flags: in-iface
>>     value without out-iface :(
>>
>>     ---
>>     J
>>
>>     Le 05/09/2024 15:46, Daniel Zanutti a écrit :
>>
>>         Julien
>>         Since the problem is on RTP, it's related to the rtpengine
>>         you're using. Maybe you could ask for help on rtpengine forum.
>>
>>         On Thu, Sep 5, 2024 at 8:50 AM Julien Pawlak via Users
>>         <users at lists.opensips.org <mailto:users at lists.opensips.org>>
>>         wrote:
>>
>>             Hello,
>>
>>             Could I get some feedback please? I'm really stuck :(
>>
>>             ---
>>             J
>>
>>
>>             Le 29/08/2024 17:25, Julien Pawlak a écrit :
>>
>>                 Hello
>>
>>
>>                 I have a problem with RTP Relay module in the initial
>>                 invite request.
>>
>>                 I have 2 rtpengine servers with both 2 interfaces,
>>                 internal and external.
>>
>>
>>                 When I add the lien below, there is no problem.
>>                 Packets come and leave through good interfaces.
>>
>>                 $rtp_relay = "out-iface=internal in-iface=external"
>>
>>                 But, when I execute the mi command to switch rtpengine
>>                 server, packets don't come and leave through good
>>                 interfaces.
>>
>>
>>                 I see that I have to put this lines :
>>
>>                 $rtp_relay(iface) = "external";
>>
>>                 $rtp_relay_peer(iface) = "internal";
>>
>>
>>                 But, that doesn't work too, I have this in debug mode :
>>
>>                 août 29 17:04:44 opensips-1
>>                 /usr/local/sbin/opensips[844747]:
>>                 DBG:rtp_relay:rtp_relay_offer: callid=[] ftag=[]
>>                 ttag=[] type=[] *in-iface=[internal] out-iface=[]*
>>                 ctx-flags=[] flags=[] peer-flags=[]
>>                 août 29 17:04:44 opensips-1
>>                 /usr/local/sbin/opensips[844747]:
>>                 ERROR:rtpengine:parse_flags: in-iface value without
>>                 out-iface
>>                 août 29 17:04:44 opensips-1
>>                 /usr/local/sbin/opensips[844747]:
>>                 ERROR:rtpengine:rtpe_function_call: could not parse flags
>>                 août 29 17:04:44 opensips-1
>>                 /usr/local/sbin/opensips[844747]:
>>                 ERROR:rtp_relay:rtp_relay_offer: could not engage offer!
>>
>>
>>                 Please help.
>>
>>
>>                 Thank you
>>
>>
>>                 -- 
>>                 J.
>>
>>             _______________________________________________
>>             Users mailing list
>>             Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>             http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>             <http://lists.opensips.org/cgi-bin/mailman/listinfo/users>
>>
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users



More information about the Users mailing list