<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2912" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello all:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> I suppose this is not the first
time that someone make this question, you may be tired of this, but believe me,
I've not found much information about this.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> Here we go: Can you help me to
make my Openser work with Mediaproxy. Below is my openser.cfg and my
mediaproxy.ini</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> A call from a Nated Calling
Party results on "Message to big" error.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> Thanks in advance,
guys.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Victoria Cortez</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>---------------------------------------------------------------------------------------------------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>File: openser.cfg</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV><FONT face=Arial size=2>
<DIV><BR># ----------- global configuration parameters
------------------------</DIV>
<DIV> </DIV>
<DIV>debug=3 #
debug level (cmd line:
-dddddddddd)<BR>fork=yes<BR>log_stderror=yes # (cmd line:
-E)</DIV>
<DIV> </DIV>
<DIV>check_via=no # (cmd. line:
-v)<BR>dns=no # (cmd.
line: -r)<BR>rev_dns=no # (cmd. line:
-R)<BR>port=5060<BR>children=4<BR>fifo="/tmp/openser_fifo"</DIV>
<DIV> </DIV>
<DIV><BR># ------------------ module loading
----------------------------------</DIV>
<DIV> </DIV>
<DIV>mpath="/usr/local/lib/openser/modules/"<BR>loadmodule "sl.so"<BR>loadmodule
"tm.so"<BR>loadmodule "rr.so"<BR>loadmodule "maxfwd.so"<BR>loadmodule
"usrloc.so"<BR>loadmodule "registrar.so"<BR>loadmodule
"textops.so"<BR>loadmodule "mysql.so"<BR>loadmodule "domain.so"<BR>loadmodule
"mediaproxy.so"</DIV>
<DIV> </DIV>
<DIV># mediaproxy<BR>modparam("mediaproxy", "mediaproxy_socket",
"/var/run/proxydispatcher.sock")<BR>modparam("mediaproxy", "natping_interval",
20)</DIV>
<DIV> </DIV>
<DIV># registrar<BR>modparam("registrar", "nat_flag",
6)<BR>modparam("registrar", "default_expires", 60)<BR>modparam("registrar",
"min_expires", 30)<BR>modparam("registrar", "use_domain", 1)</DIV>
<DIV> </DIV>
<DIV>modparam("usrloc", "use_domain", 1)<BR>modparam("usrloc",
"db_mode", 0)<BR>modparam("rr", "enable_full_lr", 1)</DIV>
<DIV> </DIV>
<DIV># ------------------------- request routing logic
-------------------</DIV>
<DIV> </DIV>
<DIV># main routing logic</DIV>
<DIV> </DIV>
<DIV>route {<BR> <BR> if (!mf_process_maxfwd_header("10"))
{<BR> sl_send_reply("483", "Demasiados
Saltos");<BR> };<BR> <BR> if (msg:len >= 2048 )
{<BR> sl_send_reply("513", "Message too
big");<BR> return;<BR> };<BR> <BR> if
(method==INVITE) {<BR> if (client_nat_test("3"))
{<BR> setflag(6);<BR> use_media_proxy();<BR> route(1);<BR> return;<BR> }<BR> };<BR> <BR> if
(method==BYE || method==CANCEL)
{<BR> end_media_session();<BR> };<BR> <BR> if
(method==REGISTER)
{<BR> route(2);<BR> return;<BR> };<BR> <BR> if
(method==INVITE)
{<BR> route(3);<BR> return;<BR> }<BR> <BR> if
(!t_relay()) {<BR> sl_reply_error();<BR> };<BR> <BR>}</DIV>
<DIV> </DIV>
<DIV># TODOS</DIV>
<DIV> </DIV>
<DIV>route[1] {<BR> t_on_reply("1");<BR> <BR> if (!t_relay())
{<BR> if (method==INVITE || method==ACK)
{<BR> end_media_session();<BR>
};<BR> sl_reply_error();<BR> };<BR> <BR>}</DIV>
<DIV> </DIV>
<DIV># REGISTER</DIV>
<DIV> </DIV>
<DIV>route[2] {<BR> if (client_nat_test("3")) {<BR> log(1, "Se
registro un cliente
NAT");<BR> setflag(6);<BR> fix_contact();<BR> force_rport();<BR> };<BR> <BR> sl_send_reply("100",
"Trying");<BR> <BR> if (!save("location"))
{<BR> sl_reply_error();<BR> };<BR>}</DIV>
<DIV> </DIV>
<DIV># INVITE</DIV>
<DIV> </DIV>
<DIV>route[3] {<BR> if (client_nat_test("3"))
{<BR> setflag(7);<BR> force_rport();<BR> fix_contact();<BR> }<BR> <BR> if
(!lookup("location")) {<BR> sl_send_reply("404", "No se encuentra el
destino.");<BR> return;<BR> }<BR> <BR> if
(isflagset(6) ||isflagset(7))
{<BR> use_media_proxy();<BR> }<BR> <BR> route(1);<BR> <BR>}</DIV>
<DIV> </DIV>
<DIV>onreply_route[1] {<BR> if ((isflagset(6) || isflagset(7)) &&
(status=~"(180)|(183)|2[0-9][0-9]"))
{<BR> use_media_proxy();<BR> }<BR> <BR> if
(client_nat_test("1")) {<BR> fix_contact();<BR> }<BR>}</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>----------------------------------------------------------------------------------------------------------------------</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>File: mediaproxy.ini</DIV>
<DIV> </DIV>
<DIV>;<BR>; Configuration file for MediaProxy<BR>;</DIV>
<DIV> </DIV>
<DIV>[Dispatcher]<BR>;<BR>; Section for configuring the proxy
dispatcher<BR>;<BR>; The following options are available here:<BR>;<BR>;
start Boolean value that
specifies if to start the
dispatcher.<BR>;
Default value: Yes<BR>;<BR>; socket
Path to the UNIX socket where the dispatcher receives
commands<BR>;
from SER. This should match the value for mediaproxy_socket
in<BR>;
openser.cfg. Use the keyword None to disable listening on
a<BR>;
local
socket.<BR>;
Default value: /var/run/proxydispatcher.sock<BR>;<BR>;
listen Network address where the
dispatcher receives commands
from<BR>;
a remote Mediaproxy to close sessions for which media
did<BR>;
timeout.<BR>;
Valid values for this
are:<BR>;<BR>;
-
Default<BR>;
when using this keyword it will listen on
0.0.0.0:25061<BR>;
-
address[:port]<BR>;
listen on the specified address and
port<BR>;
address can be an IP a hostname or the keyword Any
<BR>;
(in which case it will listen on 0.0.0.0). If address
is<BR>;
a hostname, that should map in DNS to an IP
address<BR>;
present on the machine, through an A
record.<BR>;
If port is missing assume
25061.<BR>;<BR>;
Default value: Default<BR>; <BR>;
group Put the socket in this
group and make it group
writable.<BR>;
Default value: openser<BR>;<BR>; defaultProxy Default mediaproxy to use in
case the From/To
domains<BR>;
involved in the call don't define
any.<BR>;
Valid values for this
are:<BR>;<BR>;
-
None<BR>;
don't use any default proxies. domains
without<BR>;
mediaproxy SRV records won't
work<BR>;
-
/path/to/unix/socket<BR>;
use a single MediaProxy server identified by the
given<BR>;
UNIX socket
path<BR>;
-
IP_or_hostname[:port]<BR>;
use a single MediaProxy server identified by its
network<BR>;
address. The network address consists of an IP
address<BR>;
or a hostname and an optional port number separated
by<BR>;
a double colon. If port is missing 25060 will be
assumed.<BR>;
Examples:<BR>;
10.0.0.1 (connect to 10.0.0.1 on port
25060)<BR>;
10.0.0.1:90 (connect to 10.0.0.1 on port
90)<BR>;
mp1.mydomain.com<BR>;
mp1.mydomain.com:7000<BR>;
-
domain://domain_name<BR>;
Use all MediaProxies defined by domain_name,
honoring<BR>;
their priority and weight to create a cluster of
proxies<BR>;
with fallback and load balancing
capabilities.<BR>;<BR>;
Default value:
/var/run/mediaproxy.sock<BR>;
<BR>start = yes<BR>socket = /var/run/proxydispatcher.sock<BR>group =
openser<BR>defaultProxy = /var/run/mediaproxy.sock</DIV>
<DIV> </DIV>
<DIV>[MediaProxy]<BR>;<BR>; Section for configuring the MediaProxy
server<BR>;<BR>; The following options are available here:<BR>;<BR>;
start Boolean value that
specifies if to start the RTP proxy
server.<BR>;
Default value: Yes<BR>;<BR>; socket
Path to the UNIX socket where MediaProxy receives
commands<BR>;
from the dispatcher or SER. Use the keyword None to
disable<BR>;
listening on a local
socket.<BR>;
Default value: /var/run/mediaproxy.sock<BR>;<BR>;
group Put the socket in this
group and make it group
writable.<BR>;
Default value: openser<BR>;<BR>;
listen Network address where
MediaProxy receives commands
from<BR>;
a remote
dispatcher.<BR>;
Valid values for this
are:<BR>;<BR>;
-
None<BR>;
don't listen for network connections at
all<BR>;
-
address[:port]<BR>;
listen on the specified address and
port<BR>;
address can be an IP a hostname or the keyword Any
<BR>;
(in which case it will listen on 0.0.0.0). If address
is<BR>;
a hostname, that should map in DNS to an IP
address<BR>;
present on the machine, through an A
record.<BR>;
If port is missing assume
25060.<BR>;<BR>;
Default value: None<BR>; <BR>;
allow List of addresses that are
allowed to connect to
this<BR>;
MediaProxy server and send
commands.<BR>;
They are specified as a comma separated list of entries,
with<BR>;
each entry being specified in the CIDR network/mask
notation<BR>;
(ex.
10.0.0.0/8)<BR>;
<BR>;
In addition simple IP addresses or hostnames are allowed,
in<BR>;
which case the mask is considered to be
32.<BR>;<BR>;
In addition to network ranges/addresses 2 keywords can be
used<BR>;
for this
option:<BR>;
None to specify that none is allowed to connect (not
very<BR>;
useful but this is the default for security
reasons)<BR>;
Any to specify that anyone is allowed to
connect<BR>;
(dangerous!)<BR>;<BR>;
Example: allow = 10.0.0.0/24, home-pc.mydomain.com,
1.2.3.4<BR>;<BR>;
Default value:
None<BR>;
<BR>; proxyIP IP address to use to talk to
the phones. If not specified,
the<BR>;
first found will be used. However first found usually
means<BR>;
first defined in /etc/hosts which may not be what you
want.<BR>;
If you find that the address that's automatically selected
is<BR>;
not the one you want, you can specify the right one using
this<BR>;
option. The address must be one that's present on one of
the<BR>;
host's interfaces.<BR>;<BR>; portRange The range of
ports to use for proxying the rtp
streams.<BR>;
This option is specified as minport:maxport with minport
and<BR>;
maxport being even numbers in the range
1024-65536<BR>;
Default value: 60000:65000<BR>;<BR>;
TOS Mark all
forwarded RTP packets with this specific TOS
value.<BR>;
Unless you know what TOS means, leave this option
alone.<BR>;
The TOS value can be specified either as a decimal number
or<BR>;
as a hex number in the 0xnn
format.<BR>;
Default value: 0xb8<BR>;<BR>; idleTimeout Expire idle sessions after
this much
time.<BR>;
Default 60 seconds<BR>;<BR>; holdTimeout Expire calls on hold after
this much
time.<BR>;
Default value is 3600 seconds<BR>;<BR>; forceClose Forcibly
close a RTP session after this many seconds even
if<BR>;
it's still active. If forceClose is 0, then a session is
never<BR>;
closed no matter how long it
lasts.<BR>;
Default value: 0<BR>;<BR>start = yes<BR>socket =
/var/run/mediaproxy.sock<BR>group = openser<BR>listen = None<BR>allow =
None<BR>proxyIP = 216.55.240.84<BR>portRange = 60000:65000<BR>TOS =
0xb8<BR>idleTimeout = 60<BR>holdTimeout = 3600<BR>forceClose = 0<BR>accounting =
off</DIV>
<DIV> </DIV>
<DIV>[Accounting]<BR>dbaccounting = off</DIV>
<DIV> </DIV>
<DIV>[Database]<BR>user = dbuser<BR>password = dbpass<BR>host =
dbhost<BR>database = radius<BR>table = radacct</DIV>
<DIV> </DIV>
<DIV></FONT> </DIV></BODY></HTML>