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