<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
<style>.hmmessage P{margin:0px;padding:0px}body.hmmessage{FONT-SIZE: 10pt;FONT-FAMILY:Tahoma}</style>hello<br><br>I am trying to use rtpproxy and kamailio. Below please find my kamailio.cfg file.<br>But this is what is happening:<br>1- ext 101[IP 76.109.183.2] is able to send audio to kamailio's IP [65.111.185.187]but it does not reach ext 100 IP [76.109.15.75].<br>2- ext 100 does not send RTP at all.<br>3- I still see the private IPs in the SDPs of both exts.<br><br>I am aattaching a wireshark capture<br>Thank you in advance<br><br>Fabian<br><br><br># $Id: kamailio.cfg 4576 2008-08-05 16:22:38Z klaus_darilion $<br>#<br># Kamailion basic configuration script<br># by Anca Vamanu <anca@voice-system.ro><br>#<br># Please refer to the Core CookBook at http://www.kamailio.org/dokuwiki/doku.php<br># for a explanation of possible statements, functions and parameters.<br>#<br><br><br>####### Global Parameters #########<br><br>debug=3<br>log_stderror=no<br>log_facility=LOG_LOCAL0<br><br>fork=yes<br>children=4<br><br>/* uncomment the following lines to enable debugging */<br>#debug=6<br>#fork=no<br>#log_stderror=yes<br><br>/* uncomment the next line to disable TCP (default on) */<br>disable_tcp=yes<br><br>/* uncomment the next line to enable the auto temporary blacklisting of <br> not available destinations (default disabled) */<br>#disable_dns_blacklist=no<br><br>/* uncomment the next line to enable IPv6 lookup after IPv4 dns <br> lookup failures (default disabled) */<br>#dns_try_ipv6=yes<br><br>/* uncomment the next line to disable the auto discovery of local aliases<br> based on revers DNS on IPs (default on) */<br>#auto_aliases=no<br><br>/* uncomment the following lines to enable TLS support (default off) */<br>#disable_tls = no<br>#listen = tls:your_IP:5061<br>#tls_verify_server = 1<br>#tls_verify_client = 1<br>#tls_require_client_certificate = 0<br>#tls_method = TLSv1<br>#tls_certificate = '/usr/local/etc/kamailio/tls/user/user-cert.pem'<br>#tls_private_key = '/usr/local/etc/kamailio/tls/user/user-privkey.pem'<br>#tls_ca_list = '/usr/local/etc/kamailio/tls/user/user-calist.pem'<br><br><br>port=5060<br><br>/* uncomment and configure the following line if you want Kamailio to <br> bind on a specific interface/port/proto (default bind on all available) */<br>listen=udp:65.111.185.187:5060<br><br><br>####### Modules Section ########<br><br>#set module path<br>mpath='/usr/local/lib/kamailio/modules/'<br><br>/* uncomment next line for MySQL DB support */<br>loadmodule 'db_mysql.so'<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 'mi_fifo.so'<br>loadmodule 'uri_db.so'<br>loadmodule 'uri.so'<br>loadmodule 'xlog.so'<br>loadmodule 'acc.so'<br>/* uncomment next lines for MySQL based authentication support <br> NOTE: a DB (like db_mysql) module must be also loaded */<br>loadmodule 'auth.so'<br>loadmodule 'auth_db.so'<br>/* uncomment next line for aliases support<br> NOTE: a DB (like db_mysql) module must be also loaded */<br>#loadmodule 'alias_db.so'<br>/* uncomment next line for multi-domain support<br> NOTE: a DB (like db_mysql) module must be also loaded<br> NOTE: be sure and enable multi-domain support in all used modules<br> (see 'multi-module params' section ) */<br>#loadmodule 'domain.so'<br>/* uncomment the next two lines for presence server support<br> NOTE: a DB (like db_mysql) module must be also loaded */<br>#loadmodule 'presence.so'<br>#loadmodule 'presence_xml.so'<br>loadmodule 'nathelper.so'<br><br># ----------------- setting module-specific parameters ---------------<br><br><br># ----- mi_fifo params -----<br>modparam('mi_fifo', 'fifo_name', '/tmp/kamailio_fifo')<br><br><br># ----- rr params -----<br># add value to ;lr param to cope with most of the UAs<br>modparam('rr', 'enable_full_lr', 1)<br># do not append from tag to the RR (no need for this script)<br>modparam('rr', 'append_fromtag', 0)<br><br><br># ----- rr params -----<br>modparam('registrar', 'method_filtering', 1)<br>/* uncomment the next line to disable parallel forking via location */<br># modparam('registrar', 'append_branches', 0)<br>/* uncomment the next line not to allow more than 10 contacts per AOR */<br>#modparam('registrar', 'max_contacts', 10)<br><br><br># ----- uri_db params -----<br>/* by default we disable the DB support in the module as we do not need it<br> in this configuration */<br>modparam('uri_db', 'use_uri_table', 0)<br>modparam('uri_db', 'db_url', '')<br><br><br># ----- acc params -----<br>/* what sepcial events should be accounted ? */<br>modparam('acc', 'early_media', 1)<br>modparam('acc', 'report_ack', 1)<br>modparam('acc', 'report_cancels', 1)<br>/* by default ww do not adjust the direct of the sequential requests.<br> if you enable this parameter, be sure the enable 'append_fromtag'<br> in 'rr' module */<br>modparam('acc', 'detect_direction', 0)<br>/* account triggers (flags) */<br>modparam('acc', 'failed_transaction_flag', 3)<br>modparam('acc', 'log_flag', 1)<br>modparam('acc', 'log_missed_flag', 2)<br>/* uncomment the following lines to enable DB accounting also */<br>modparam('acc', 'db_flag', 1)<br>modparam('acc', 'db_missed_flag', 2)<br><br><br># ----- usrloc params -----<br>modparam('usrloc', 'db_mode', 0)<br>/* uncomment the following lines if you want to enable DB persistency<br> for location entries */<br>modparam('usrloc', 'db_mode', 2)<br>#modparam('usrloc', 'db_url',<br># 'mysql://openser:openserrw@localhost/openser')<br>modparam('usrloc', 'nat_bflag', 3)<br><br># ----- auth_db params -----<br>/* uncomment the following lines if you want to enable the DB based<br> authentication */<br>modparam('auth_db', 'calculate_ha1', yes)<br>modparam('auth_db', 'password_column', 'password')<br>modparam('auth_db', 'db_url',<br> 'mysql://openser:openserrw@localhost/openser')<br>modparam('auth_db', 'load_credentials', '')<br><br><br># ----- alias_db params -----<br>/* uncomment the following lines if you want to enable the DB based<br> aliases */<br>#modparam('alias_db', 'db_url',<br># 'mysql://openser:openserrw@localhost/openser')<br><br><br># ----- domain params -----<br>/* uncomment the following lines to enable multi-domain detection<br> support */<br>#modparam('domain', 'db_url',<br># 'mysql://openser:openserrw@localhost/openser')<br>#modparam('domain', 'db_mode', 1) # Use caching<br><br><br># ----- multi-module params -----<br>/* uncomment the following line if you want to enable multi-domain support<br> in the modules (dafault off) */<br>#modparam('alias_db|auth_db|usrloc|uri_db', 'use_domain', 1)<br><br><br># ----- presence params -----<br>/* uncomment the following lines if you want to enable presence */<br>#modparam('presence|presence_xml', 'db_url',<br># 'mysql://openser:openserrw@localhost/openser')<br>#modparam('presence_xml', 'force_active', 1)<br>#modparam('presence', 'server_address', 'sip:192.168.1.2:5060')<br><br># ----- nathelper params -----<br>modparam('nathelper', 'natping_interval', 10)<br>modparam('nathelper', 'ping_nated_only', 1)<br>modparam('nathelper', 'rtpproxy_sock', 'udp:localhost:8899')<br>modparam('nathelper', 'rtpproxy_disable_tout', 20)<br>modparam('nathelper', 'rtpproxy_tout', 2)<br>modparam('nathelper', 'rtpproxy_retr', 2)<br>modparam('nathelper', 'sipping_from', 'sip:pinger@mykamailio.com')<br>modparam('nathelper', 'sipping_bflag', 7)<br><br><br>####### Routing Logic ########<br><br><br># main request routing logic<br><br>route{<br><br> if (!mf_process_maxfwd_header('10')) {<br> sl_send_reply('483','Too Many Hops');<br> exit;<br> }<br><br><br> if (is_method('REGISTER'))<br> {<br> # authenticate the REGISTER requests (uncomment to enable auth)<br> if (!www_authorize('', 'subscriber'))<br> {<br> www_challenge('', '0');<br> exit;<br> }<br><br> if (!save('location'))<br> sl_reply_error();<br><br> exit;<br> }<br><br><br><br> if (!lookup('location')) {<br> switch ($retcode) {<br> case -1:<br> case -3:<br> t_newtran();<br> t_reply('404', 'Not Found');<br> exit;<br> case -2:<br> sl_send_reply('405', 'Method Not Allowed');<br> exit;<br> }<br> }<br><br> # when routing via usrloc, log the missed calls also<br> setflag(2);<br><br> # record routing<br> if (!is_method('REGISTER|MESSAGE')) {<br> record_route();<br> }<br> # account only INVITEs<br> if (is_method('INVITE')) {<br> setflag(1); # do accounting<br> }<br><br><br><br> # for INVITEs enable some additional helper routes<br> if (is_method('INVITE')) {<br> force_rtp_proxy();<br> }<br><br> if (!t_relay()) {<br> sl_reply_error();<br> };<br> exit;<br><br> # CANCEL processing<br> if (is_method('CANCEL|BYE'))<br> {<br> unforce_rtp_proxy(); <br> if (t_check_trans())<br> t_relay();<br> exit;<br> }<br><br><br><br>}<br><br><br><br><br><br /><hr />Stay organized with simple drag and drop from Windows Live Hotmail. <a href='http://windowslive.com/Explore/hotmail?ocid=TXT_TAGLM_WL_hotmail_102008' target='_new'>Try it</a></body>
</html>