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