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. Try it