[OpenSIPS-Users] Openser running between 2 networks
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Sat Oct 11 18:36:00 CEST 2008
Hi Robert,
Yes, this is the lucky case when you have an interface usable from both
interface :). In such a case, no bridging (RTP or SIP) is needed.
Regards,
Bogdan
Robert Dyck wrote:
> Correct
> Below is an excerpt from my working config. You will notice that I commented
> the commands associated with rtpproxy in bridge mode. My openser is
> essentially an ALG. I am looking forward to trying the B2BUA.
>
> # Check if package originates from LAN
> if (src_ip==192.168.1.0/255.255.255.0)
> {
> log(1, "incoming package from lan\n");
> if (lookup("location") or lookup("aliases"))
> {
> log(1, "contact in local database\n");
> if (uri=~"^sip:(.+)@192.168.1")
> {
> # at least one command here
> log(1, "internal call\n");
> }
> else
> {
> if (method=="INVITE")
> {
> log(1, "call from lan to wan\n");
> setflag(5);
> #force_rtp_proxy("FAIE");
> force_rtp_proxy("R");
> #log(1, "forcing RTP proxy IE\n");
> log(1, "forcing RTP proxy\n");
> t_on_reply("1");
> };
>
> };
> }
> else
> {
> log(1, "contact NOT in local database\n");
> if (uri==myself)
> {
> log(1, "contact not found\n");
> sl_send_reply("404", "Not Found");
> return;
> }
> else
> {
> if (method=="INVITE")
> {
> log(1, "call from lan to wan\n");
> setflag(5);
> if (uri =~"^sip:[0-9]+\*[0-9]+@")
> {
> log(1, "looks like an ISN URI\n");
> #we do not care what host the client
> has written into the URI
>
> rewritehostport("public.freenum.org:5060");
> #we should recieve a 302 Moved
> Temporarily message
> }
> else
> {
> #force_rtp_proxy("FAIE");
> force_rtp_proxy("R");
> #log(1, "forcing RTP proxy IE\n");
> log(1, "forcing RTP proxy\n");
> };
> t_on_reply("1");
> };
> };
> };
> }
> else
> {
> log(1, "incoming package from wan\n");
> if (uri==myself)
> {
> if (lookup("location") or lookup("aliases"))
> {
> log(1, "contact in local database\n");
> if (method=="INVITE")
> {
> log(1, "call from wan to lan\n");
> setflag(5);
> #force_rtp_proxy("FAEI");
> force_rtp_proxy("R");
> #log(1, "forcing RTP proxy EI\n");
> log(1, "forcing RTP proxy\n");
> t_on_reply("1");
> };
> }
> else
> {
> # log(1, "contact not found\n");
> sl_send_reply("404", "Not Found");
> return;
> };
> }
> else
> if (method=="INVITE")
> {
> log(1, "is this a re-invite???\n");
> log(1, "call from wan to lan\n");
> setflag(5);
> #force_rtp_proxy("FAEI");
> force_rtp_proxy("R");
> #log(1, "forcing RTP proxy EI\n");
> log(1, "forcing RTP proxy\n");
> t_on_reply("1");
> };
> };
>
>
> };
> route(1);
>
>
> On Thursday 09 October 2008, Bogdan-Andrei Iancu wrote:
>
>> Hi Robert,
>>
>> What you are saying is you are using only the public interface as this
>> routable and reachable from the private network also. Is this correct?
>>
>> Regards,
>> Bogdan
>>
>> Robert Dyck wrote:
>>
>>> I also use openser as an outgoing proxy. At first I had the proxy
>>> listening on both interfaces and used rtpproxy in bridge mode. I decided
>>> that was not necessary. Now on the local phones I use the proxy's public
>>> address as the outgoing proxy address. I no longer use rtpproxy in bridge
>>> mode. Both the local phones and external phones can connect with the
>>> rtpproxy public address.
>>>
>>> On Thursday 09 October 2008, Bogdan-Andrei Iancu wrote:
>>>
>>>> Hi,
>>>>
>>>> Another option is to use force_send_socket() core function
>>>> (http://www.opensips.org/pmwiki.php?n=Resources.DocsCoreFcn#toc95).
>>>>
>>>> If you receive the message on the private IP and want to send it out on
>>>> the public one, do force_send_socket(public_IP); before t_relay().
>>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>> Hung Nguyen wrote:
>>>>
>>>>> Hi Bruno Machodo
>>>>>
>>>>> 1. With openser, you must add line mhomed = 1 to openser.cfg ==> it
>>>>> will run on bridge mode
>>>>> 2. With rtpproxy you must add flag "EI" ==> for calls from public
>>>>> network to private network and "IE" with calls from private network to
>>>>> public network.
>>>>> force_rtp_proxy("EI");
>>>>>
>>>>> nguyen,
>>>>>
>>>>> On 9/24/08, Bruno Machado <bsmufu at yahoo.com.br> wrote:
>>>>>
>>>>>> Hi fellows.
>>>>>>
>>>>>> I've been looking for a solution to solve this problem. The Openser is
>>>>>> running
>>>>>> over 2 IPs: private and public. I also have 2 ATAs: one of them has a
>>>>>> private IP
>>>>>> and the second has a public. When the session is established, ATA A
>>>>>> will send
>>>>>> RTP to the Openser private interface and ATA B will send to its public
>>>>>> IP. RTPProxy will
>>>>>> route the "private RTP packets" to "public network" and vice-versa
>>>>>>
>>>>>> private public
>>>>>> ATA A Openser ATA B
>>>>>> ------- INVITE -------> private IP
>>>>>> public IP ------- INVITE ----->
>>>>>>
>>>>>>
>>>>>> I've implemented a script but it doesn't work like the way described
>>>>>> above. When Openser receives the INVITE through its private IP, it
>>>>>> forwards the message to ATA B using the its private IP.
>>>>>> I saw that RTPProxy has a bridge mode and the Nathelper's function has
>>>>>> some parameters to handle with it. The SDP's 'c header' is changed
>>>>>> properly when
>>>>>> I use them, but the source IP (when Openser sends it to the public
>>>>>> ATA) remains private (I'm not thinking that 'force_rtp_proxy' will set
>>>>>> the network layer). In one hand, I already
>>>>>> have the SDP set properly; but the source address still belonging to
>>>>>> the private
>>>>>> network. So, I just have 50% done. I tried to add an argument in
>>>>>> "t_relay", like "udp:XXX.YYY.WWW.ZZZ:5060", without success.
>>>>>> I don't know if what I want is possible: this behavior belongs to a
>>>>>> "IP router", interconnecting 2 different networks. I didn't find
>>>>>> anything similar to this (maybe I didn't search enough (and I believe
>>>>>> that it is the only clever thing here until now...)).
>>>>>> So... Am I getting crazy or it is clearly possible? (perhaps both..)
>>>>>>
>>>>>> Regards
>>>>>> Bruno Machado
>>>>>>
>>>>>>
>>>>>>
>>>>>> Novos endereços, o Yahoo! que você conhece. Crie um email novo
>>>>>> com a sua cara @ymail.com ou @rocketmail.com.
>>>>>> http://br.new.mail.yahoo.com/addresses
>>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opensips.org
>>>>> 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