[Serusers] Two networks and rtpproxy

Henry Jensen hjensen at gmx.de
Wed Aug 25 10:48:08 CEST 2004


I have two networks A and B which are connected through two machines. The clients from network A
can't connect to the clients from network B and vice versa. Only the two machines can connect to each other.
I have installed SER on both machines.

If SER A receives a Request for Client B, it forwards this request to SER B. If SER B recieves a request for 
Client A, it forwards to SER A. Note that Client B can't connect to SER A directly, and Client A can't connect to
SER B.

192.168.0.0/24           10.0.0.0/24
    SER A------------------SER B
      |                      |
      |                      |
      |                      |
    Client A              Client B
(Grandstream              (kphone)
 BT 100)   


I use the config from  http://www.voip-info.org/wiki-SER+example+NAThelper (see below).

As for the SIP part, all seems well. The Clients connect, but I hear nothing, so I think, that 
rtpproxy is not funtional. There are two things that worry me:

1. In the log from SER , there is an entry that says:
"a=nortpproxy:yes"
 What does this mean?


2. Some errors in the log:

ERROR: extract_body: message body has lenght zero 
ERROR: force_rtp_proxy2: can't extract body from the message 
ERROR: on_reply processing failed 


I'm not sure, if I understand the whole thing correctly. So, I have some questions:

a) Must rtpproxy run on both machines (SER A and SER B) - they do now - or is one enough? I read,
that rtpproxy supports "bridge mode", but it isn't documented anywhere. How can I activate 
the "bridge mode" ?

b) Must rtpproxy run before I start ser or after (if it matters at all) ?

c) can rtpproxy forward to another rtpproxy at all? If so, how?

d) Is there an alternative solution for the scenario described above?



Here's the important part of my config:


--- cut --- 

...


if (method=="INVITE") {
                record_route();
                force_rtp_proxy();
                /* set up reply processing */
                t_on_reply("1");
        };


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

  }


  onreply_route[1] {
       if (status=~"[12][0-9][0-9]")
                force_rtp_proxy();
  }



Regards,
Henry





More information about the sr-users mailing list