[SR-Users] Kamailio with media proxy and two network interfaces

Julien julien.linphone at gmail.com
Wed Nov 5 18:10:30 CET 2014


Hi,
I tried to follow your instructions :
    Change rtpProxy config to bridge the 2 interfaces with ADDR_PRIVATE 
as first interface.
    I copy pasted the config file given in the ipv4/v6 tutorial, 
adapting listen interfaces.
    I also replaced
> if(isbflagset(FLB_V4V6)) {
>         if(af==INET6) {
>             rtpproxy_manage("FAEI");
>         } else {
>             rtpproxy_manage("FAIE");
>         }
>     } else {
>         if(af==INET6) {
>             rtpproxy_manage("FAEE");
>         } else {
>             rtpproxy_manage("FAII");
>         }
>     }
with
> #!define ADDR_PRIVATE 192.168.15.58
> #!define ADDR_VPN 10.8.0.1
> ...
> xlog("L_ALERT","ALERT: route_uri: $route_uri\n ");
> xlog("L_ALERT","ALERT: dst_ip: $Ri\n ");
> xlog("L_ALERT","ALERT: src_ip: $si\n ");
> ...
> if (dst_ip==ADDR_PRIVATE){
>         if (src_ip=~"10.8.0.*"){
>             xlog("L_ALERT","ALERT: in dst=ADDR_PRIVATE && 
> src=10.8.0.*\n ");
>             rtpproxy_manage("FAIE");
>         }else{
>             xlog("L_ALERT","ALERT: in dst=ADDR_PRIVATE && 
> src!=10.8.0.*\n ");
>             rtpproxy_manage("FAII");
>         }
>     }
>     else{
>         if (src_ip=~"10.8.0.*"){
>             xlog("L_ALERT","ALERT: in dst=ADDR_VPN && src=10.8.0.*\n ");
>             rtpproxy_manage("FAEE");
>         }else{
>             xlog("L_ALERT","ALERT: in dst=ADDR_VPN && src!=10.8.0.*\n ");
>             rtpproxy_manage("FAEI");
>         }
>     }
where 10.8.0.* represent the regex to match the external network address 
(which is a VPN address).
The call is established, but audio and video streams are sent to the 
wrong IP address of the proxy (ex : should have been sent to 
192.168.15.58, but were sent to 10.8.0.1).
What traces should I look up for further debug?
Any other ideas/suggestions?

Thanks.
Le 04/11/2014 21:41, Daniel-Constantin Mierla a écrit :
> On 04/11/14 20:04, Glenn Larsen wrote:
>> On Tue, Nov 4, 2014 at 6:17 PM, Julien<julien.linphone at gmail.com>  wrote:
>>> A user connected at eth0 shall be able to get the presence status of users on eth1 and users shall be able to call each other.
>>>
>>> What I did so far:
>>>    I added listen statements for both interfaces to the Kamailio config file:
>>>      -listen=udp:eth0_IP:5060
>>>      -listen=udp:eth1_IP:5060
>> Have you done similar configuration for the RTP proxy? Since Kamailio
>> will setup the call, but will not "carry" the audio. If your RTP proxy
>> has been configured, have you updated the kamailio config to use the
>> RTP proxy?
>>
>> See example 1.14 on this page:
>> http://kamailio.org/docs/modules/4.2.x/modules/rtpproxy.html#idp84376
>>
> A tutorial I wrote for bridging IPv4 and IPv6 can be useful to go through:
>
> -http://kb.asipto.com/kamailio:kamailio-mixed-ipv4-ipv6
>
> It show bridging of sip and rtp between not directly routable networks.
>
> Instead of doing kamailio.cfg rtpproxy_manage() decisions on af (address
> family), it has to be done on dst_ip (local ip on which the packet was
> received) and rtp proxy started with "-l ip1/ip2" instead of "-l ip1 -6
> /ip2".
>
> Cheers,
> Daniel
>

-- 
Julien Barreau




More information about the sr-users mailing list