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