[SR-Users] Kamailio not mdifying Contact in multi-homed (*sm1Ly)

Biswas, Dipak dipak.biswas at mezocliq.com
Wed Feb 5 14:34:43 CET 2014


my config looks like this:

#!KAMAILIO

# Dipak 01/23/2014 - Added FreeSWITCH server forwarding, User auth and
additional debug prints
#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
#!define WITH_FREESWITCH
#!define WITH_NAT
#!define WITH_DEBUG
#!define WITH_CFGSAMPLES
#!define WITH_WEBSOCKETS
#!define WITH_TLS

#!substdef "!MY_IP_ADDR!10.1.128.11!g"
#!substdef "!MY_DOMAIN!10.1.128.11!g"
#!substdef "!MY_WS_PORT!4232!g"
#!substdef "!MY_WSS_PORT!4233!g"
#!substdef "!MY_WS_ADDR!tcp:MY_IP_ADDR:MY_WS_PORT!g"
#!substdef "!MY_WSS_ADDR!tls:MY_IP_ADDR:MY_WSS_PORT!g"

#
# Kamailio (OpenSER) SIP Server v3.3 - default configuration script
#     - web: http://www.kamailio.org
#     - git: http://sip-router.org
#
# Direct your questions about this file to: <sr-users at lists.sip-router.org>
#
# Refer to the Core CookBook at http://www.kamailio.org/dokuwiki/doku.php
# for an explanation of possible statements, functions and parameters.
#
# Several features can be enabled using '#!define WITH_FEATURE' directives:
#
# *** To run in debug mode:
#     - define WITH_DEBUG
#
# *** To enable mysql:
#     - define WITH_MYSQL
#
# *** To enable authentication execute:
#     - enable mysql
#     - define WITH_AUTH
#     - add users using 'kamctl'
#
# *** To enable IP authentication execute:
#     - enable mysql
#     - enable authentication
#     - define WITH_IPAUTH
#     - add IP addresses with group id '1' to 'address' table
#
# *** To enable persistent user location execute:
#     - enable mysql
#     - define WITH_USRLOCDB
#
# *** To enable presence server execute:
#     - enable mysql
#     - define WITH_PRESENCE
#
# *** To enable nat traversal execute:
#     - define WITH_NAT
#     - install RTPProxy: http://www.rtpproxy.org
#     - start RTPProxy:
#        rtpproxy -l _your_public_ip_ -s udp:localhost:7722
#
# *** To enable PSTN gateway routing execute:
#     - define WITH_PSTN
#     - set the value of pstn.gw_ip
#     - check route[PSTN] for regexp routing condition
#
# *** To enable database aliases lookup execute:
#     - enable mysql
#     - define WITH_ALIASDB
#
# *** To enable speed dial lookup execute:
#     - enable mysql
#     - define WITH_SPEEDDIAL
#
# *** To enable multi-domain support execute:
#     - enable mysql
#     - define WITH_MULTIDOMAIN
#
# *** To enable TLS support execute:
#     - adjust CFGDIR/tls.cfg as needed
#     - define WITH_TLS
#
# *** To enable XMLRPC support execute:
#     - define WITH_XMLRPC
#     - adjust route[XMLRPC] for access policy
#
# *** To enable anti-flood detection execute:
#     - adjust pike and htable=>ipban settings as needed (default is
#       block if more than 16 requests in 2 seconds and ban for 300 seconds)
#     - define WITH_ANTIFLOOD
#
# *** To block 3XX redirect replies execute:
#     - define WITH_BLOCK3XX
#
# *** To enable VoiceMail routing execute:
#     - define WITH_VOICEMAIL
#     - set the value of voicemail.srv_ip
#     - adjust the value of voicemail.srv_port
#
# *** To enhance accounting execute:
#     - enable mysql
#     - define WITH_ACCDB
#     - add following columns to database
#!ifdef ACCDB_COMMENT
  ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE acc ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT '';
  ALTER TABLE acc ADD COLUMN src_ip varchar(64) NOT NULL default '';
  ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT '';
  ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT
'';
  ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128) NOT NULL
DEFAULT '';
  ALTER TABLE missed_calls ADD COLUMN src_ip varchar(64) NOT NULL default
'';
  ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64) NOT NULL
DEFAULT '';
  ALTER TABLE missed_calls ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT
'';
  ALTER TABLE missed_calls ADD COLUMN dst_domain VARCHAR(128) NOT NULL
DEFAULT '';
#!endif

####### Defined Values #########

# *** Value defines - IDs used later in config
#!ifdef WITH_MYSQL
# - database URL - used to connect to database server by modules such
#       as: auth_db, acc, usrloc, a.s.o.
# -define DBURL "mysql://openser:openserrw@localhost/openser"
#!define DBURL "mysql://mysql:123456@localhost/kamailio"
#!endif
#!ifdef WITH_MULTIDOMAIN
# - the value for 'use_domain' parameters
#!define MULTIDOMAIN 1
#!else
#!define MULTIDOMAIN 0
#!endif

# - flags
#   FLT_ - per transaction (message) flags
# FLB_ - per branch flags
#!define FLT_ACC 1
#!define FLT_ACCMISSED 2
#!define FLT_ACCFAILED 3
#!define FLT_NATS 5

#!define FLB_NATB 6
#!define FLB_NATSIPPING 7

####### Global Parameters #########

#!ifdef WITH_DEBUG
debug=4
log_stderror=yes
#!else
debug=2
log_stderror=no
#!endif

memdbg=5
memlog=5

log_facility=LOG_LOCAL0

fork=yes
children=4

/* uncomment the next line to disable TCP (default on) */
#disable_tcp=yes

/* uncomment the next line to disable the auto discovery of local aliases
   based on reverse DNS on IPs (default on) */
#auto_aliases=no

/* add local domain aliases */
#alias="sip.mydomain.com"

/* 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:10.0.0.10:5060

/* port to listen to
 * - can be specified more than once if needed to listen on many ports */
#port=5060
listen=udp:<public ip>:5060
listen=tcp:<public ip>:5060
listen=tls:<public ip>:5061
listen=udp:10.1.128.11:5060
listen=tcp:10.1.128.11:5060
#!ifdef WITH_WEBSOCKETS
listen=MY_WS_ADDR
#!ifdef WITH_TLS
listen=MY_WSS_ADDR
#!endif
#!endif


mhomed=1

#!ifdef WITH_TLS
enable_tls=yes
#!endif

# life time of TCP connection when there is no traffic
# - a bit higher than registration expires to cope with UA behind NAT
tcp_connection_lifetime=3605

tcp_accept_no_cl=yes
tcp_rd_buf_size=16384

#syn_branch=0

####### Custom Parameters #########

# These parameters can be modified runtime via RPC interface
# - see the documentation of 'cfg_rpc' module.
#
# Format: group.id = value 'desc' description
# Access: $sel(cfg_get.group.id) or @cfg_get.group.id
#

#!ifdef WITH_PSTN
# PSTN GW Routing
#
# - pstn.gw_ip: valid IP or hostname as string value, example:
# pstn.gw_ip = "10.0.0.101" desc "My PSTN GW Address"
#
# - by default is empty to avoid misrouting
pstn.gw_ip = "" desc "PSTN GW Address"
#!endif

#!ifdef WITH_VOICEMAIL
# VoiceMail Routing on offline, busy or no answer
#
# - by default Voicemail server IP is empty to avoid misrouting
voicemail.srv_ip = "" desc "VoiceMail IP Address"
voicemail.srv_port = "5060" desc "VoiceMail Port"
#!endif

#!ifdef WITH_FREESWITCH
freeswitch.bindip = "10.1.128.34" desc "FreeSWITCH IP Address, to be
changed to DN to be resolved by DNSSRV for load distribution"
freeswitch.bindport = "5060" desc "FreeSWITCH Port"
kamailio.bindip = "10.1.128.11" desc "Kamailio Internal SIP Address"
kamailio.bindport = "5060" desc "Kamailio Internal SIP listen Port"
kamailio.pubbindip = "<public ip>" desc "Kamailio External SIP Address"
kamailio.pubbindport = "5060" desc "Kamailio External SIP listen Port"
#!endif

####### Modules Section ########

# set paths to location of modules (to sources or installation folders)
#!ifdef WITH_SRCPATH
#mpath="modules_k:modules"
mpath="modules"
#!else
mpath="/usr/lib64/kamailio/modules/"
#!endif

#!ifdef WITH_MYSQL
loadmodule "db_mysql.so"
#!endif

loadmodule "mi_fifo.so"
loadmodule "kex.so"
loadmodule "tm.so"
loadmodule "tmx.so"
loadmodule "sl.so"
loadmodule "rr.so"
loadmodule "pv.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "siputils.so"
loadmodule "xlog.so"
loadmodule "sanity.so"
loadmodule "ctl.so"
loadmodule "cfg_rpc.so"
loadmodule "mi_rpc.so"
loadmodule "acc.so"

#!ifdef WITH_AUTH
loadmodule "auth.so"
loadmodule "auth_db.so"
#!ifdef WITH_IPAUTH
loadmodule "permissions.so"
#!endif
#!endif

#!ifdef WITH_ALIASDB
loadmodule "alias_db.so"
#!endif

#!ifdef WITH_SPEEDDIAL
loadmodule "speeddial.so"
#!endif

#!ifdef WITH_MULTIDOMAIN
loadmodule "domain.so"
#!endif

#!ifdef WITH_PRESENCE
loadmodule "presence.so"
loadmodule "presence_xml.so"
#!endif

#!ifdef WITH_NAT
loadmodule "nathelper.so"
loadmodule "rtpproxy.so"
#!endif

#!ifdef WITH_TLS
loadmodule "tls.so"
#!endif

#!ifdef WITH_ANTIFLOOD
loadmodule "htable.so"
loadmodule "pike.so"
#!endif

#!ifdef WITH_XMLRPC
loadmodule "xmlrpc.so"
#!endif

#!ifdef WITH_DEBUG
loadmodule "debugger.so"
#!endif

#!ifdef WITH_FREESWITCH
loadmodule "uac.so"

#loadmodule "ipops.so"
#loadmodule "sqlops.so"
#modparam("sqlops","sqlcon","ca=>mysql://mysql:XXXXXX@localhost/kamailio")
#!endif

#!ifdef WITH_WEBSOCKETS
loadmodule "xhttp.so"
loadmodule "websocket.so"
#!ifdef WITH_NAT
#loadmodule "nathelper.so"
#!endif
#!endif

# ----------------- setting module-specific parameters ---------------


# ----- mi_fifo params -----
modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")


# ----- tm params -----
# auto-discard branches from previous serial forking leg
modparam("tm", "failure_reply_mode", 3)
# default retransmission timeout: 30sec
modparam("tm", "fr_timer", 30000)
# default invite retransmission timeout after 1xx: 120sec
modparam("tm", "fr_inv_timer", 120000)


# ----- 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)
#!ifdef WITH_FREESWITCH
modparam("rr", "append_fromtag", 1)
#!else
modparam("rr", "append_fromtag", 0)
#!endif


# ----- registrar 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)
# max value for expires of registrations
modparam("registrar", "max_expires", 3600)
# set it to 1 to enable GRUU
modparam("registrar", "gruu_enabled", 0)


# ----- acc params -----
/* what special events should be accounted ? */
modparam("acc", "early_media", 0)
modparam("acc", "report_ack", 0)
modparam("acc", "report_cancels", 0)
/* 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", "log_flag", FLT_ACC)
modparam("acc", "log_missed_flag", FLT_ACCMISSED)
modparam("acc", "log_extra",
"src_user=$fU;src_domain=$fd;src_ip=$si;"
"dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)
/* enhanced DB accounting */
#!ifdef WITH_ACCDB
modparam("acc", "db_flag", FLT_ACC)
modparam("acc", "db_missed_flag", FLT_ACCMISSED)
modparam("acc", "db_url", DBURL)
modparam("acc", "db_extra",
"src_user=$fU;src_domain=$fd;src_ip=$si;"
"dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
#!endif


# ----- usrloc params -----
/* enable DB persistency for location entries */
#!ifdef WITH_USRLOCDB
modparam("usrloc", "db_url", DBURL)
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "use_domain", MULTIDOMAIN)
#!endif


# ----- auth_db params -----
#!ifdef WITH_AUTH
modparam("auth_db", "db_url", DBURL)
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "load_credentials", "")
modparam("auth_db", "use_domain", MULTIDOMAIN)

# ----- permissions params -----
#!ifdef WITH_IPAUTH
modparam("permissions", "db_url", DBURL)
modparam("permissions", "db_mode", 1)
#!endif

#!endif


# ----- alias_db params -----
#!ifdef WITH_ALIASDB
modparam("alias_db", "db_url", DBURL)
modparam("alias_db", "use_domain", MULTIDOMAIN)
#!endif


# ----- speedial params -----
#!ifdef WITH_SPEEDDIAL
modparam("speeddial", "db_url", DBURL)
modparam("speeddial", "use_domain", MULTIDOMAIN)
#!endif


# ----- domain params -----
#!ifdef WITH_MULTIDOMAIN
modparam("domain", "db_url", DBURL)
# register callback to match myself condition with domains list
modparam("domain", "register_myself", 1)
#!endif


#!ifdef WITH_PRESENCE
# ----- presence params -----
modparam("presence", "db_url", DBURL)

# ----- presence_xml params -----
modparam("presence_xml", "db_url", DBURL)
modparam("presence_xml", "force_active", 1)
#!endif


#!ifdef WITH_NAT
# ----- rtpproxy params -----
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")

# ----- nathelper params -----
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
modparam("nathelper", "sipping_from", "sip:pinger at kamailio.org")

# params needed for NAT traversal in other modules
modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("usrloc", "nat_bflag", FLB_NATB)
#!endif


#!ifdef WITH_TLS
# ----- tls params -----
modparam("tls", "config", "/etc/kamailio/tls.cfg")
#!endif

#!ifdef WITH_ANTIFLOOD
# ----- pike params -----
modparam("pike", "sampling_time_unit", 2)
modparam("pike", "reqs_density_per_unit", 16)
modparam("pike", "remove_latency", 4)

# ----- htable params -----
# ip ban htable with autoexpire after 5 minutes
modparam("htable", "htable", "ipban=>size=8;autoexpire=300;")
#!endif

#!ifdef WITH_XMLRPC
# ----- xmlrpc params -----
modparam("xmlrpc", "route", "XMLRPC");
modparam("xmlrpc", "url_match", "^/RPC")
#!endif

#!ifdef WITH_DEBUG
# ----- debugger params -----
modparam("debugger", "cfgtrace", 1)
#!endif

####### Routing Logic ########


# Main SIP request routing logic
# - processing of any incoming SIP request starts with this route
# - note: this is the same as route { ... }
request_route {

# per request initial checks
route(REQINIT);

#!ifdef WITH_WEBSOCKETS
if (nat_uac_test(64)) {
# Do NAT traversal stuff for requests from a WebSocket
# connection - even if it is not behind a NAT!
# This won't be needed in the future if Kamailio and the
# WebSocket client support Outbound and Path.
xlog("L_INFO", "Websockets NAT detection!!!\n");
force_rport();
if (is_method("REGISTER")) {
fix_nated_register();
} else {
if (!add_contact_alias()) {
xlog("L_ERR", "Error aliasing contact <$ct>\n");
sl_send_reply("400", "Bad Request");
exit;
}
}
}
#!endif

# NAT detection
route(NATDETECT);

# CANCEL processing
if (is_method("CANCEL"))
{
if (t_check_trans())
t_relay();
exit;
}

# handle requests within SIP dialogs
route(WITHINDLG);

### only initial requests (no To tag)

t_check_trans();

# authentication
route(AUTH);

# record routing for dialog forming requests (in case they are routed)
# - remove preloaded route headers
remove_hf("Route");
if (is_method("INVITE|SUBSCRIBE"))
record_route();

# account only INVITEs
if (is_method("INVITE"))
{
setflag(FLT_ACC); # do accounting
}

# dispatch requests to foreign domains
route(SIPOUT);

### requests for my local domains

# handle presence related requests
route(PRESENCE);

# handle registrations
route(REGISTRAR);

if ($rU==$null)
{
# request with no Username in RURI
sl_send_reply("484","Address Incomplete");
exit;
}

# dispatch destinations to PSTN
route(PSTN);

#!ifdef WITH_FREESWITCH
# save callee ID
$avp(callee) = $rU;
route(FSDISPATCH);
#!endif

# user location service
route(LOCATION);

route(RELAY);
}


route[RELAY] {

# enable additional event routes for forwarded requests
# - serial forking, RTP relaying handling, a.s.o.
#!ifdef WITH_CFGSAMPLES
if (is_method("INVITE|SUBSCRIBE")) {
t_on_branch("MANAGE_BRANCH");
t_on_reply("MANAGE_REPLY");
}
if (is_method("INVITE")) {
t_on_failure("MANAGE_FAILURE");
}
#!endif
if (!t_relay()) {
sl_reply_error();
}
exit;
}

# Per SIP request initial checks
route[REQINIT] {
#!ifdef WITH_ANTIFLOOD
# flood dection from same IP and traffic ban for a while
# be sure you exclude checking trusted peers, such as pstn gateways
# - local host excluded (e.g., loop to self)
if(src_ip!=myself)
{
if($sht(ipban=>$si)!=$null)
{
# ip is already blocked
xdbg("request from blocked IP - $rm from $fu (IP:$si:$sp)\n");
exit;
}
if (!pike_check_req())
{
xlog("L_ALERT","ALERT: pike blocking $rm from $fu (IP:$si:$sp)\n");
$sht(ipban=>$si) = 1;
exit;
}
}
#!endif

if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
}

if(!sanity_check("1511", "7"))
{
xlog("Malformed SIP message from $si:$sp\n");
exit;
}
}

# Handle requests within SIP dialogs
route[WITHINDLG] {
if (has_totag()) {
# sequential request withing a dialog should
# take the path determined by record-routing
if (loose_route()) {
#!ifdef WITH_WEBSOCKETS
xlog("L_INFO", "Websockets handling ruri in WITHINDLG!!!\n");
if ($du == "") {
if (!handle_ruri_alias()) {
xlog("L_ERR", "Bad alias <$ru>\n");
sl_send_reply("400", "Bad Request");
exit;
}
}
#!endif
route(DLGURI);
if (is_method("BYE")) {
setflag(FLT_ACC); # do accounting ...
setflag(FLT_ACCFAILED); # ... even if the transaction fails
}
else if ( is_method("ACK") ) {
# ACK is forwarded statelessy
route(NATMANAGE);
}
else if ( is_method("NOTIFY") ) {
# Add Record-Route for in-dialog NOTIFY as per RFC 6665.
record_route();
}
route(RELAY);
} else {
if (is_method("SUBSCRIBE") && uri == myself) {
# in-dialog subscribe requests
route(PRESENCE);
exit;
}
if ( is_method("ACK") ) {
if ( t_check_trans() ) {
# no loose-route, but stateful ACK;
# must be an ACK after a 487
# or e.g. 404 from upstream server
t_relay();
exit;
} else {
# ACK without matching transaction ... ignore and discard
exit;
}
}
sl_send_reply("404","Not here");
}
exit;
}
}

# Handle SIP registrations
route[REGISTRAR] {
if (is_method("REGISTER"))
{
if(isflagset(FLT_NATS))
{
setbflag(FLB_NATB);
# uncomment next line to do SIP NAT pinging
## setbflag(FLB_NATSIPPING);
}
if (!save("location"))
sl_reply_error();

#!ifdef WITH_FREESWITCH
route(FSREGFWD);
#!endif
exit;
}
}

# USER location service
route[LOCATION] {

#!ifdef WITH_SPEEDIAL
# search for short dialing - 2-digit extension
if($rU=~"^[0-9][0-9]$")
if(sd_lookup("speed_dial"))
route(SIPOUT);
#!endif

#!ifdef WITH_ALIASDB
# search in DB-based aliases
if(alias_db_lookup("dbaliases"))
route(SIPOUT);
#!endif

$avp(oexten) = $rU;
if (!lookup("location")) {
$var(rc) = $rc;
route(TOVOICEMAIL);
t_newtran();
switch ($var(rc)) {
case -1:
case -3:
send_reply("404", "Not Found");
exit;
case -2:
send_reply("405", "Method Not Allowed");
exit;
}
}

# when routing via usrloc, log the missed calls also
if (is_method("INVITE"))
{
setflag(FLT_ACCMISSED);
}
}

# Presence server route
route[PRESENCE] {
if(!is_method("PUBLISH|SUBSCRIBE"))
return;

#!ifdef WITH_PRESENCE
if (!t_newtran())
{
sl_reply_error();
exit;
};

if(is_method("PUBLISH"))
{
handle_publish();
t_release();
}
else
if( is_method("SUBSCRIBE"))
{
handle_subscribe();
t_release();
}
exit;
#!endif

# if presence enabled, this part will not be executed
if (is_method("PUBLISH") || $rU==$null)
{
sl_send_reply("404", "Not here");
exit;
}
return;
}

# Authentication route
route[AUTH] {
#!ifdef WITH_AUTH

#!ifdef WITH_IPAUTH
if((!is_method("REGISTER")) && allow_source_address())
{
# source IP allowed
return;
}
#!endif

#!ifdef WITH_FREESWITCH
if(route(FSINBOUND))
return;
#!endif

if (is_method("REGISTER") || from_uri==myself)
{
# authenticate requests
if (!auth_check("$fd", "subscriber", "1")) {
auth_challenge("$fd", "0");
exit;
}
# user authenticated - remove auth header
if(!is_method("REGISTER|PUBLISH"))
consume_credentials();
}
# if caller is not local subscriber, then check if it calls
# a local destination, otherwise deny, not an open relay here
xlog("L_INFO", "REGISTER REceived from from_uri\n");#+", for "+uri+", at
"+myself+"...\n");
if (from_uri!=myself && uri!=myself)
{
sl_send_reply("403","Not relaying");
exit;
}

#!endif
return;
}

# Caller NAT detection route
route[NATDETECT] {
#!ifdef WITH_NAT
force_rport();
xlog("L_INFO", "In NATDETECT!!!\n");
#We are SBC, receiving from Public UAC and passing it to FS to Private LAN
- so, removing the nat test
#if (nat_uac_test("19")) {
if (is_method("REGISTER")) {
fix_nated_register();
} else {
remove_hf("Contact");
if(route(FSINBOUND)) {
xlog("L_INFO", "From FS --->\n");
$var(contact_uri) = $fU + "@" + $sel(cfg_get.kamailio.pubbindip) + ":" +
$sel(cfg_get.kamailio.pubbindport);
xlog("L_INFO", "Replacing Contact $ct with $var(contact_uri)...\n");
#add_contact_alias();
#fix_nated_contact();
insert_hf("Contact: <sip:$var(contact_uri)>\r\n", "Contact");
xlog("L_INFO", "Removing Route header!!!\n");
remove_hf("Route");
}
else {
xlog("L_INFO", "<--- To FS\n");
$var(contact_uri) = $fU + "@" + $sel(cfg_get.kamailio.bindip) + ":" +
$sel(cfg_get.kamailio.bindport);
xlog("L_INFO", "Replacing Contact $ct with $var(contact_uri)...\n");
insert_hf("Contact: <sip:$var(contact_uri)>\r\n", "Contact");
}
}
setflag(FLT_NATS);
#}
#!endif
return;
}

# RTPProxy control
route[NATMANAGE] {
#!ifdef WITH_NAT
xlog("L_INFO", "In NATMANAGE!!!\n");
#if (is_request()) {
if(has_totag()) {
if(check_route_param("nat=yes")) {
setbflag(FLB_NATB);
}
}
#}
if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))
return;

if(route(FSINBOUND)) {
xlog("L_INFO", "Call is going to public domain. Engaging RTPProxy\n");
rtpproxy_manage("rwei");
}
else {
xlog("L_INFO", "Call is going to private IPv4 Media Server. Engaging
RTPProxy\n");
rtpproxy_manage("rwie");
}

if (is_request()) {
if (!has_totag()) {
add_rr_param(";nat=yes");
}
}
if (is_reply()) {
xlog("L_INFO", "Reply handling, Contact header shows -> $ct!!!\n");
remove_hf("Contact");
if(route(FSINBOUND)) {
xlog("L_INFO", "From FS --->\n");
#$var(contact_uri) = $(ct{tobody.user}) + "@" + $(ct{tobody.host});
$var(contact_uri) = $fU + "@" + $sel(cfg_get.kamailio.pubbindip) + ":" +
$sel(cfg_get.kamailio.pubbindport);
xlog("L_INFO", "Replacing with $var(contact_uri)...\n");
insert_hf("Contact: <sip:$var(contact_uri)>\r\n", "Contact");
xlog("L_INFO", "Removing Route header!!!\n");
remove_hf("Route");
}
else {
xlog("L_INFO", "<--- To FS\n");
$var(contact_uri) = $fU + "@" + $sel(cfg_get.kamailio.bindip) + ":" +
$sel(cfg_get.kamailio.bindport);
xlog("L_INFO", "Replacing with $var(contact_uri)...\n");
insert_hf("Contact: <sip:$var(contact_uri)>\r\n", "Contact");
}
if(isbflagset(FLB_NATB)) {
add_contact_alias();
}
}
#!endif
return;
}

# URI update for dialog requests
route[DLGURI] {
#!ifdef WITH_NAT
if(!isdsturiset()) {
handle_ruri_alias();
}
#!endif
return;
}

# Routing to foreign domains
route[SIPOUT] {
if (!uri==myself)
{
append_hf("P-hint: outbound\r\n");
route(RELAY);
}
}

# PSTN GW routing
route[PSTN] {
#!ifdef WITH_PSTN
# check if PSTN GW IP is defined
if (strempty($sel(cfg_get.pstn.gw_ip))) {
xlog("SCRIPT: PSTN rotuing enabled but pstn.gw_ip not defined\n");
return;
}

# route to PSTN dialed numbers starting with '+' or '00'
#     (international format)
# - update the condition to match your dialing rules for PSTN routing
if(!($rU=~"^(\+|00)[1-9][0-9]{3,20}$"))
return;

# only local users allowed to call
if(from_uri!=myself) {
sl_send_reply("403", "Not Allowed");
exit;
}

$ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip);

route(RELAY);
exit;
#!endif

return;
}

# XMLRPC routing
#!ifdef WITH_XMLRPC
route[XMLRPC] {
# allow XMLRPC from localhost
if ((method=="POST" || method=="GET")
&& (src_ip==127.0.0.1)) {
# close connection only for xmlrpclib user agents (there is a bug in
# xmlrpclib: it waits for EOF before interpreting the response).
if ($hdr(User-Agent) =~ "xmlrpclib")
set_reply_close();
set_reply_no_connect();
dispatch_rpc();
exit;
}
send_reply("403", "Forbidden");
exit;
}
#!endif

# route to voicemail server
route[TOVOICEMAIL] {
#!ifdef WITH_VOICEMAIL
if(!is_method("INVITE"))
return;

# check if VoiceMail server IP is defined
if (strempty($sel(cfg_get.voicemail.srv_ip))) {
xlog("SCRIPT: VoiceMail rotuing enabled but IP not defined\n");
return;
}
if($avp(oexten)==$null)
return;

$ru = "sip:" + $avp(oexten) + "@" + $sel(cfg_get.voicemail.srv_ip)
+ ":" + $sel(cfg_get.voicemail.srv_port);
route(RELAY);
exit;
#!endif

return;
}

#!ifdef WITH_FREESWITCH
# FreeSWITCH routing blocks
route[FSINBOUND] {
if($si== $sel(cfg_get.freeswitch.bindip)
&& $sp==$sel(cfg_get.freeswitch.bindport))
return 1;
return -1;
}

# Forward REGISTER to FreeSWITCH
route[FSREGFWD] {
if(!is_method("REGISTER"))
{
return;
}
$var(rip) = $sel(cfg_get.freeswitch.bindip);
$uac_req(method) = "REGISTER";
$uac_req(ruri)="sip:" + $var(rip) + ":" + $sel(cfg_get.freeswitch.bindport);
$uac_req(furi)="sip:" + $au + "@" + $var(rip);
$uac_req(turi)="sip:" + $au + "@" + $var(rip);
$uac_req(hdrs)="Contact: <sip:" + $au + "@"
+ $sel(cfg_get.kamailio.bindip)
+ ":" + $sel(cfg_get.kamailio.bindport) + ">\r\n";
if($sel(contact.expires) != $null)
$uac_req(hdrs)= $uac_req(hdrs) + "Expires: " + $sel(contact.expires) +
"\r\n";
else
$uac_req(hdrs)= $uac_req(hdrs) + "Expires: " + $hdr(Expires) + "\r\n";
uac_req_send();
}

route[FSDISPATCH] {
if(!is_method("INVITE"))
return;
if(route(FSINBOUND))
return;

# dial number selection
switch($rU) {
case /"^41$":
# 41 - voicebox menu
# allow only authenticated users
if($au==$null)
{
sl_send_reply("403", "Not allowed");
exit;
}
$rU = "vm-" + $au;
break;
case /"^441[0-9][0-9]$":
# starting with 44 folowed by 1XY - direct call to voice box
strip(2);
route(FSVBOX);
break;
case /"^433[01][0-9][0-9]$":
# starting with 433 folowed by (0|1)XY - conference
strip(2);
break;
case /"^45[0-9]+$":
strip(2);
break;
default:
# offline - send to voicebox
#Dipak 01/27/2014 Commemted the following block, FS to handle VMBox
#!ifdef NOT_COMMENTED_OUT
if (!registered("location"))
{
route(FSVBOX);
exit;
}
#!endif
# online - do bridging
#Dipak 01/27/2014 Commemted the following, not needed
#prefix("kb-");
if(is_method("INVITE"))
{
# in case of failure - re-route to FreeSWITCH VoiceMail
t_on_failure("FAIL_FSVBOX");
}
}
route(FSRELAY);
exit;
}

route[FSVBOX] {
if(!($rU=~"^1[0-9][0-9]+$"))
return;
prefix("vb-");
route(FSRELAY);
}

# Send to FreeSWITCH
route[FSRELAY] {
$du = "sip:" + $sel(cfg_get.freeswitch.bindip) + ":"
+ $sel(cfg_get.freeswitch.bindport);
route(RELAY);
exit;
}

#!endif


# manage outgoing branches
branch_route[MANAGE_BRANCH] {
xdbg("new branch [$T_branch_idx] to $ru\n");
route(NATMANAGE);
}

# manage incoming replies
onreply_route[MANAGE_REPLY] {
xdbg("incoming reply\n");
if(status=~"[12][0-9][0-9]")
route(NATMANAGE);
}

# manage failure routing cases
failure_route[MANAGE_FAILURE] {
route(NATMANAGE);

if (t_is_canceled()) {
exit;
}

#!ifdef WITH_BLOCK3XX
# block call redirect based on 3xx replies.
if (t_check_status("3[0-9][0-9]")) {
t_reply("404","Not found");
exit;
}
#!endif

#!ifdef WITH_VOICEMAIL
# serial forking
# - route to voicemail on busy or no answer (timeout)
if (t_check_status("486|408")) {
route(TOVOICEMAIL);
exit;
}
#!endif
}

#!ifdef WITH_FREESWITCH
failure_route[FAIL_FSVBOX] {
#!ifdef WITH_NAT
if (is_method("INVITE")
&& (isbflagset(FLB_NATB) || isflagset(FLT_NATS))) {
unforce_rtp_proxy();
}
#!endif

if (t_is_canceled()) {
exit;
}

if (t_check_status("486|408")) {
# re-route to FreeSWITCH VoiceMail
$rU = $avp(callee);
route(FSVBOX);
}
}
#!endif

#!ifdef WITH_WEBSOCKETS
onreply_route {
if ((($Rp == MY_WS_PORT || $Rp == MY_WSS_PORT)
&& !(proto == WS || proto == WSS))) {
# || $Rp == MY_MSRP_PORT) {
xlog("L_WARN", "SIP response received on websocket $Rp\n");
drop;
exit;
}

if (nat_uac_test(64)) {
# Do NAT traversal stuff for replies to a WebSocket connection
# - even if it is not behind a NAT!
# This won't be needed in the future if Kamailio and the
# WebSocket client support Outbound and Path.
add_contact_alias();
}
}

event_route[xhttp:request] {
set_reply_close();
set_reply_no_connect();
 if ($Rp != MY_WS_PORT
#!ifdef WITH_TLS
    && $Rp != MY_WSS_PORT
#!endif
) {
xlog("L_WARN", "HTTP request received on $Rp\n");
xhttp_reply("403", "Forbidden", "", "");
exit;
}

xlog("L_DBG", "HTTP Request Received\n");

if ($hdr(Upgrade)=~"websocket"
&& $hdr(Connection)=~"Upgrade"
&& $rm=~"GET") {

# Validate Host - make sure the client is using the correct
# alias for WebSockets
if ($hdr(Host) == $null || !is_myself("sip:" + $hdr(Host))) {
xlog("L_WARN", "Bad host $hdr(Host)\n");
xhttp_reply("403", "Forbidden", "", "");
exit;
}

# Optional... validate Origin - make sure the client is from an
# authorised website.  For example,
#
# if ($hdr(Origin) != "http://communicator.MY_DOMAIN"
#     && $hdr(Origin) != "https://communicator.MY_DOMAIN") {
# xlog("L_WARN", "Unauthorised client $hdr(Origin)\n");
# xhttp_reply("403", "Forbidden", "", "");
# exit;
# }

# Optional... perform HTTP authentication

# ws_handle_handshake() exits (no further configuration file
# processing of the request) when complete.
if (ws_handle_handshake())
{
# Optional... cache some information about the
# successful connection
exit;
}
}

xhttp_reply("404", "Not Found", "", "");
}

event_route[websocket:closed] {
xlog("L_INFO", "WebSocket connection from $si:$sp has closed\n");
}
#!endif



On Mon, Feb 3, 2014 at 10:56 AM, *sm1Ly <st.uzver at gmail.com> wrote:

> I got really modify my config, and now it looks like:
> http://pastebin.com/0M7938Mm
>
> but now I got loopback problems. kamailio just asking itself.
> ngrep -d lo port 5060 talks me:
>
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;branch=z9hG4bKc2bb.e627f45ee16a4b45ca99321b3bc8832c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.328c8c23df8e916010525f7f786cbc49.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060
>   ;branch=z9hG4bKc2bb.b8ec8f173657be182ad714f59d37d4a8.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.7bec0e7c4a5962e90811bf082f0e6635.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6bbb824e92f328ce4053167b2e2c596a.0..V
>   ia: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6f732fece1d8956bf5b075118b3dcb2f.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b4ab8b8de819be6fff9203bfdf4e758c.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branch=z9hG4bKc2
>   bb.977524b1111849dd2cd8020d4c09090c.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b43e66d.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via:
> SIP/2.0/UDP 1
>
> 94.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a
>   7f73adc7761c7ba31b.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP 194.190.8.171;rpor
>   t=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060
> ;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988
>   c4757dae14dfb;rport=5060..From: <sip:1001 at 194.190.8.171>;tag=1274477258..To:
> <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x
>   86_64/linux))..Content-Length: 0....
>
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.328c8c23df8e916010525f7f786cbc49.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b8ec8f173657be182ad714f59d37d4a8.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.7bec0e7c4a5962e90811bf082f0e6635.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6bbb824e92f328ce4053167b2e2c596a.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6f732fece1d8956bf5b075118b
>   3dcb2f.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b4ab8b8de819be6fff9203bfdf4e758c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.977524b1111849dd2cd8020d4c09090c.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b43e66d.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SI
>   P/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01d
>   cad6cb7e8257bcbe8ad7b66b7b095.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP 194.190
>
> .8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001
>   @194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b8ec8f173657be182ad714f59d37d4a8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.7bec0e7c4a5962e90811bf082f0e6635.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.6bbb824e92f328ce4053167b2e2c596a.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6f732fece1d8956bf5b075118b3dcb2f.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b4ab8b8de819be6fff9203bfdf
>   4e758c.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.977524b1111849dd2cd8020d4c09090c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b43e66d.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SI
>   P/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946
>   cc81be473148e1a6dc5a173b2cfb1.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168
>   .1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757D
>   AE14DFB at 192.168.1.119..CSeq: 2 SUBSCRIBE..Server: kamailio (4.1.1
> (x86_64/linux))..Content-Length: 0....
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.7bec0e7c4a5962e90811bf082f0e6635.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6bbb824e92f328ce4053167b2e2c596a.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.6f732fece1d8956bf5b075118b3dcb2f.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b4ab8b8de819be6fff9203bfdf4e758c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.977524b1111849dd2cd8020d4c
>   09090c.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b43e66d.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SI
>   P/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0ea
>   f0b545ac8239ad5e105fc2804cae8.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060
> ;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..Fro
>   m: <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length
>   : 0....
>
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6bbb824e92f328ce4053167b2e2c596a.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6f732fece1d8956bf5b075118b3dcb2f.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.b4ab8b8de819be6fff9203bfdf4e758c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.977524b1111849dd2cd8020d4c09090c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b
>   43e66d.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SI
>   P/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d
>   28c8a5ba1eeda8f8b296f6d2232e8.0..Via: SIP/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171
> >;tag=c5aea4efd01978ba4655
>   7f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.6f732fece1d8956bf5b075118b3dcb2f.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b4ab8b8de819be6fff9203bfdf4e758c.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.977524b1111849dd2cd8020d4c09090c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b43e66d.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0
>   c69cbf.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SI
>   P/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branc
>   h=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From: <
> sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2 SUBSCRIBE
>   ..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b4ab8b8de819be6fff9203bfdf4e758c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.977524b1111849dd2cd8020d4c09090c.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b43e66d.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e
>   520e4e.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SI
>   P/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=12744772
>   58..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.977524b1111849dd2cd8020d4c09090c.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b43e66d.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf7
>   3e9e32.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SI
>   P/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558
>   B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2 SUBSCRIBE..Server:
> kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.cb7d178bf3fdb6596399beaf5b43e66d.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c
>   7ba31b.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060
> ;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14df
>   b;rport=5060..From: <sip:1001 at 194.190.8.171>;tag=1274477258..To: <
> sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux)
>   )..Content-Length: 0....
>
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.bd5d0e524121d2fd121fa6e8f0c69cbf.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66
>   b7b095.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP 194.190.8.171;rport=5060;branc
>   h=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via: SIP/2.0/UDP
> 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171
> >;tag=c5a
>   ea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.98352f1121cb37b6feb7814a0e520e4e.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173
>   b2cfb1.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060;received=77
>
> .37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..
>   CSeq: 2 SUBSCRIBE..Server: kamailio (4.1.1
> (x86_64/linux))..Content-Length: 0....
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.b670b117fb4d3a40912cb25cf73e9e32.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc28
>   04cae8.0..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.
>   171>;tag=1274477258..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.ac9e718c5fd57a7f73adc7761c7ba31b.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d
>   2232e8.0..Via: SIP/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171
> >;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call
>   -ID: 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.01dcad6cb7e8257bcbe8ad7b66b7b095.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060
> ;received=77.37.241.151;branch=z9hG4bK00c46d3a558be3
>   11988c4757dae14dfb;rport=5060..From: <sip:1001 at 194.190.8.171>;tag=1274477258..To:
> <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1
>   .1 (x86_64/linux))..Content-Length: 0....
>
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.946cc81be473148e1a6dc5a173b2cfb1.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP 194.190.8.171
>   ;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.1
>   90.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0....
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.0eaf0b545ac8239ad5e105fc2804cae8.0..Via:
> SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119
>   :5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <sip:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DF
>   B at 192.168.1.119..CSeq: 2 SUBSCRIBE..Server: kamailio (4.1.1
> (x86_64/linux))..Content-Length: 0....
>
>
> #
> U 194.190.8.171:5060 -> 194.190.8.171:5060
>   SIP/2.0 483 Too Many Hops..Via: SIP/2.0/UDP
> 194.190.8.171;rport=5060;branch=z9hG4bKc2bb.c1d28c8a5ba1eeda8f8b296f6d2232e8.0..Via:
> SIP/2.0/UDP 192.168.1.119:5060;received=77.37.241.151;branch=z9hG4bK00c46d3a558be311988c4757dae14dfb;rport=5060..From:
> <si
>   p:1001 at 194.190.8.171>;tag=1274477258..To: <sip:1001 at 194.190.8.171>;tag=c5aea4efd01978ba46557f38f3d08cfc.2793..Call-ID:
> 00C46D3A-558B-E311-988A-4757DAE14DFB at 192.168.1.119..CSeq: 2
> SUBSCRIBE..Server: kamailio (4.1.1 (x86_64/linux))..Content-Length: 0...
>   .
>
>
> and how looks dump
>
> 1. from sip device to kamailio
> [root at kamaz sm1ly]# tcpdump -nn -i eth0 host 77.37.241.151 -v
> tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size
> 65535 bytes
> 19:54:51.205942 IP (tos 0x0, ttl 57, id 0, offset 0, flags [DF], proto UDP
> (17), length 421)
>     77.37.241.151.57288 > 194.190.8.171.5060: SIP, length: 393
>         REGISTER sip:194.190.8.171 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5569 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;branch=z9hG4bKe5bd1a6ceba7f0a0f4e7487cb17ca365353236;rport
>         Max-Forwards: 70
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Content-Length: 0
>
>
> 19:54:51.210060 IP (tos 0x10, ttl 64, id 35861, offset 0, flags [none],
> proto UDP (17), length 603)
>     194.190.8.171.5060 > 77.37.241.151.57288: SIP, length: 575
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP 192.168.1.103:57288;received=77.37.241.151
> ;branch=z9hG4bKe5bd1a6ceba7f0a0f4e7487cb17ca365353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as518dbea9
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5569 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="31daf0f8"
>         Content-Length: 0
>
>
> 19:54:51.257552 IP (tos 0x0, ttl 57, id 0, offset 0, flags [DF], proto UDP
> (17), length 586)
>     77.37.241.151.57288 > 194.190.8.171.5060: SIP, length: 558
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5570 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;branch=z9hG4bK440337c23337c9913220fd825f4d9ded353236;rport
>         Max-Forwards: 70
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="31daf0f8",uri="sip:
> 194.190.8.171:5060
> ",response="2b0222b07da7af1c3b72c2eb36241f5f",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.261209 IP (tos 0x10, ttl 64, id 35862, offset 0, flags [none],
> proto UDP (17), length 603)
>     194.190.8.171.5060 > 77.37.241.151.57288: SIP, length: 575
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP 192.168.1.103:57288;received=77.37.241.151
> ;branch=z9hG4bK440337c23337c9913220fd825f4d9ded353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0716dea5
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5570 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="2f70c759"
>         Content-Length: 0
>
>
> 19:54:51.290458 IP (tos 0x0, ttl 57, id 0, offset 0, flags [DF], proto UDP
> (17), length 586)
>     77.37.241.151.57288 > 194.190.8.171.5060: SIP, length: 558
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5571 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;branch=z9hG4bK30fe030eee49e2eb50c619074c0f057b353236;rport
>         Max-Forwards: 70
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="2f70c759",uri="sip:
> 194.190.8.171:5060
> ",response="9eb7d157cfd0d8e8575b59c94c5f82f6",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.295285 IP (tos 0x10, ttl 64, id 35863, offset 0, flags [none],
> proto UDP (17), length 566)
>     194.190.8.171.5060 > 77.37.241.151.57288: SIP, length: 538
>         SIP/2.0 200 OK
>         Via: SIP/2.0/UDP 192.168.1.103:57288;received=77.37.241.151
> ;branch=z9hG4bK30fe030eee49e2eb50c619074c0f057b353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0716dea5
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5571 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Expires: 0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Content-Length: 0
>
>
> 19:54:51.314824 IP (tos 0x0, ttl 57, id 0, offset 0, flags [DF], proto UDP
> (17), length 473)
>     77.37.241.151.57288 > 194.190.8.171.5060: SIP, length: 445
>         REGISTER sip:194.190.8.171 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2404 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;branch=z9hG4bKdeb946998664720c2c93538625cc649e353236;rport
>         Max-Forwards: 70
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Content-Length: 0
>
>
> 19:54:51.319697 IP (tos 0x10, ttl 64, id 35864, offset 0, flags [none],
> proto UDP (17), length 602)
>     194.190.8.171.5060 > 77.37.241.151.57288: SIP, length: 574
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP 192.168.1.103:57288;received=77.37.241.151
> ;branch=z9hG4bKdeb946998664720c2c93538625cc649e353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0bba2324
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2404 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="023deb34"
>         Content-Length: 0
>
>
> 19:54:51.344080 IP (tos 0x0, ttl 57, id 0, offset 0, flags [DF], proto UDP
> (17), length 638)
>     77.37.241.151.57288 > 194.190.8.171.5060: SIP, length: 610
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2405 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;branch=z9hG4bK60a6798f72024444a9870698b766a04c353236;rport
>         Max-Forwards: 70
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="023deb34",uri="sip:
> 194.190.8.171:5060
> ",response="7fa5be98c7c0c395ed41f9e7da095629",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.350423 IP (tos 0x10, ttl 64, id 35865, offset 0, flags [none],
> proto UDP (17), length 602)
>     194.190.8.171.5060 > 77.37.241.151.57288: SIP, length: 574
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP 192.168.1.103:57288;received=77.37.241.151
> ;branch=z9hG4bK60a6798f72024444a9870698b766a04c353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as065abeba
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2405 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="26886c3d"
>         Content-Length: 0
>
>
> 19:54:51.370976 IP (tos 0x0, ttl 57, id 0, offset 0, flags [DF], proto UDP
> (17), length 638)
>     77.37.241.151.57288 > 194.190.8.171.5060: SIP, length: 610
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2406 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;branch=z9hG4bKf4d831e0612e1074bf49397d92907c80353236;rport
>         Max-Forwards: 70
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="26886c3d",uri="sip:
> 194.190.8.171:5060
> ",response="cc17aae74d45f06e4712aa66b08e68df",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.380962 IP (tos 0x10, ttl 64, id 35866, offset 0, flags [none],
> proto UDP (17), length 636)
>     194.190.8.171.5060 > 77.37.241.151.57288: SIP, length: 608
>         SIP/2.0 200 OK
>         Via: SIP/2.0/UDP 192.168.1.103:57288;received=77.37.241.151
> ;branch=z9hG4bKf4d831e0612e1074bf49397d92907c80353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as065abeba
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2406 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Expires: 3600
>         Contact: <sip:1002 at 192.168.1.103:57288;transport=udp>;expires=3600
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Content-Length: 0
>
>
> 19:54:51.406160 IP (tos 0x0, ttl 57, id 0, offset 0, flags [DF], proto UDP
> (17), length 395)
>     77.37.241.151.57288 > 194.190.8.171.5060: SIP, length: 367
>         OPTIONS sip:194.190.8.171 SIP/2.0
>         Call-ID: 28b382a24bc3e426f030593cec5f852a at 192.168.1.103
>         CSeq: 1287 OPTIONS
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=3866552602
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;branch=z9hG4bK9bddae72a5ccaf0df80be00ba2882dfd353236;rport
>         Max-Forwards: 70
>         User-Agent: SIPAUA/0.1.001
>         Content-Length: 0
>
>
> 19:54:51.407799 IP (tos 0x10, ttl 64, id 35867, offset 0, flags [none],
> proto UDP (17), length 458)
>     194.190.8.171.5060 > 77.37.241.151.57288: SIP, length: 430
>         SIP/2.0 484 Address Incomplete
>         Call-ID: 28b382a24bc3e426f030593cec5f852a at 192.168.1.103
>         CSeq: 1287 OPTIONS
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=3866552602
>         To: "1002" <sip:1002 at 194.190.8.171
> >;tag=c5aea4efd01978ba46557f38f3d08cfc.5162
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;branch=z9hG4bK9bddae72a5ccaf0df80be00ba2882dfd353236;rport=57288;received=77.37.241.151
>         Server: kamailio (4.1.1 (x86_64/linux))
>         Content-Length: 0
>
> 2. from kamailio to asterisk.
> [root at kamaz sm1ly]#  tcpdump -nn -i eth1 host 50.0.0.10 -v and port 5060
> tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size
> 65535 bytes
> 19:54:41.906391 IP (tos 0x0, ttl 64, id 5618, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:34713;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK75f42160;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40fc69ea
>         To: <sip:1002 at 192.168.1.103:34713;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 7bacfa62676409266240568c5c9d055b at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:41 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:42.906385 IP (tos 0x0, ttl 64, id 5619, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:34713;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK75f42160;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40fc69ea
>         To: <sip:1002 at 192.168.1.103:34713;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 7bacfa62676409266240568c5c9d055b at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:41 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:43.906565 IP (tos 0x0, ttl 64, id 5620, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:34713;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK75f42160;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40fc69ea
>         To: <sip:1002 at 192.168.1.103:34713;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 7bacfa62676409266240568c5c9d055b at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:41 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:44.904726 IP (tos 0x10, ttl 64, id 34743, offset 0, flags [none],
> proto UDP (17), length 413)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 385
>         SIP/2.0 408 Request Timeout
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK75f42160;rport=5060
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40fc69ea
>         To: <sip:1002 at 192.168.1.103:34713
> ;transport=udp>;tag=6f6209fafb0c4bc816e1e7aa854ee2dd-8578
>         Call-ID: 7bacfa62676409266240568c5c9d055b at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         Server: kamailio (4.1.1 (x86_64/linux))
>         Content-Length: 0
>
>
> 19:54:51.207422 IP (tos 0x10, ttl 64, id 34744, offset 0, flags [none],
> proto UDP (17), length 531)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 503
>         REGISTER sip:194.190.8.171 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5569 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bKd8a1.094de0504827adb22c7b874f77dfd698.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKe5bd1a6ceba7f0a0f4e7487cb17ca365353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Content-Length: 0
>
>
> 19:54:51.209052 IP (tos 0x0, ttl 64, id 5621, offset 0, flags [none],
> proto UDP (17), length 713)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 685
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bKd8a1.094de0504827adb22c7b874f77dfd698.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKe5bd1a6ceba7f0a0f4e7487cb17ca365353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as518dbea9
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5569 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="31daf0f8"
>         Content-Length: 0
>
>
> 19:54:51.258759 IP (tos 0x10, ttl 64, id 34745, offset 0, flags [none],
> proto UDP (17), length 696)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 668
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5570 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK56b1.d46d0ab6448c5edd99f24aa7ba8a2881.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK440337c23337c9913220fd825f4d9ded353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="31daf0f8",uri="sip:
> 194.190.8.171:5060
> ",response="2b0222b07da7af1c3b72c2eb36241f5f",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.259902 IP (tos 0x0, ttl 64, id 5622, offset 0, flags [none],
> proto UDP (17), length 713)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 685
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK56b1.d46d0ab6448c5edd99f24aa7ba8a2881.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK440337c23337c9913220fd825f4d9ded353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0716dea5
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5570 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="2f70c759"
>         Content-Length: 0
>
>
> 19:54:51.292190 IP (tos 0x10, ttl 64, id 34746, offset 0, flags [none],
> proto UDP (17), length 696)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 668
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5571 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK66b1.0173e2524e6deda0f27b83591a62730f.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK30fe030eee49e2eb50c619074c0f057b353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="2f70c759",uri="sip:
> 194.190.8.171:5060
> ",response="9eb7d157cfd0d8e8575b59c94c5f82f6",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.293302 IP (tos 0x0, ttl 64, id 5623, offset 0, flags [none],
> proto UDP (17), length 676)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 648
>         SIP/2.0 200 OK
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK66b1.0173e2524e6deda0f27b83591a62730f.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK30fe030eee49e2eb50c619074c0f057b353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0716dea5
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5571 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Expires: 0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Content-Length: 0
>
>
> 19:54:51.317242 IP (tos 0x10, ttl 64, id 34747, offset 0, flags [none],
> proto UDP (17), length 583)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 555
>         REGISTER sip:194.190.8.171 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2404 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK2624.44980ae0ad3ba5026d6f044c24770539.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKdeb946998664720c2c93538625cc649e353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Content-Length: 0
>
>
> 19:54:51.318123 IP (tos 0x0, ttl 64, id 5624, offset 0, flags [none],
> proto UDP (17), length 712)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 684
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK2624.44980ae0ad3ba5026d6f044c24770539.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKdeb946998664720c2c93538625cc649e353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0bba2324
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2404 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="023deb34"
>         Content-Length: 0
>
>
> 19:54:51.346522 IP (tos 0x10, ttl 64, id 34748, offset 0, flags [none],
> proto UDP (17), length 748)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 720
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2405 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK3624.173cef757dc8f7da8b864ee1ab1bfe50.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK60a6798f72024444a9870698b766a04c353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="023deb34",uri="sip:
> 194.190.8.171:5060
> ",response="7fa5be98c7c0c395ed41f9e7da095629",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.348056 IP (tos 0x0, ttl 64, id 5625, offset 0, flags [none],
> proto UDP (17), length 712)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 684
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK3624.173cef757dc8f7da8b864ee1ab1bfe50.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK60a6798f72024444a9870698b766a04c353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as065abeba
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2405 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="26886c3d"
>         Content-Length: 0
>
>
> 19:54:51.373298 IP (tos 0x10, ttl 64, id 34749, offset 0, flags [none],
> proto UDP (17), length 748)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 720
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2406 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK0624.82ac15efd62f203c1b009e3ab3c711bc.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKf4d831e0612e1074bf49397d92907c80353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="26886c3d",uri="sip:
> 194.190.8.171:5060
> ",response="cc17aae74d45f06e4712aa66b08e68df",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.374893 IP (tos 0x0, ttl 64, id 5626, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:57288;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK129c83a7;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40306b56
>         To: <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 0e6d3cec7afd68275843c14303988ff3 at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:51.374906 IP (tos 0x0, ttl 64, id 5627, offset 0, flags [none],
> proto UDP (17), length 746)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 718
>         SIP/2.0 200 OK
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK0624.82ac15efd62f203c1b009e3ab3c711bc.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKf4d831e0612e1074bf49397d92907c80353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as065abeba
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2406 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Expires: 3600
>         Contact: <sip:1002 at 192.168.1.103:57288;transport=udp>;expires=3600
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Content-Length: 0
>
>
> 19:54:52.375165 IP (tos 0x0, ttl 64, id 5628, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:57288;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK129c83a7;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40306b56
>         To: <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 0e6d3cec7afd68275843c14303988ff3 at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:53.375333 IP (tos 0x0, ttl 64, id 5629, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:57288;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK129c83a7;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40306b56
>         To: <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 0e6d3cec7afd68275843c14303988ff3 at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:54.342025 IP (tos 0x10, ttl 64, id 34750, offset 0, flags [none],
> proto UDP (17), length 413)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 385
>         SIP/2.0 408 Request Timeout
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK129c83a7;rport=5060
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40306b56
>         To: <sip:1002 at 192.168.1.103:57288
> ;transport=udp>;tag=6f6209fafb0c4bc816e1e7aa854ee2dd-1f6e
>         Call-ID: 0e6d3cec7afd68275843c14303988ff3 at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         Server: kamailio (4.1.1 (x86_64/linux))
>         Content-Length: 0
>
> 3. on asterisk to kamailio
> [root at astkamaz sm1ly]# tcpdump -nn -i eth0 -v host 50.0.0.1 and port 5060
> tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size
> 65535 bytes
> 19:54:41.906401 IP (tos 0x0, ttl 64, id 5618, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:34713;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK75f42160;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40fc69ea
>         To: <sip:1002 at 192.168.1.103:34713;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 7bacfa62676409266240568c5c9d055b at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:41 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:42.906581 IP (tos 0x0, ttl 64, id 5619, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:34713;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK75f42160;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40fc69ea
>         To: <sip:1002 at 192.168.1.103:34713;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 7bacfa62676409266240568c5c9d055b at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:41 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:43.906740 IP (tos 0x0, ttl 64, id 5620, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:34713;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK75f42160;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40fc69ea
>         To: <sip:1002 at 192.168.1.103:34713;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 7bacfa62676409266240568c5c9d055b at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:41 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:44.905366 IP (tos 0x10, ttl 64, id 34743, offset 0, flags [none],
> proto UDP (17), length 413)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 385
>         SIP/2.0 408 Request Timeout
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK75f42160;rport=5060
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40fc69ea
>         To: <sip:1002 at 192.168.1.103:34713
> ;transport=udp>;tag=6f6209fafb0c4bc816e1e7aa854ee2dd-8578
>         Call-ID: 7bacfa62676409266240568c5c9d055b at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         Server: kamailio (4.1.1 (x86_64/linux))
>         Content-Length: 0
>
>
> 19:54:51.208464 IP (tos 0x10, ttl 64, id 34744, offset 0, flags [none],
> proto UDP (17), length 531)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 503
>         REGISTER sip:194.190.8.171 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5569 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bKd8a1.094de0504827adb22c7b874f77dfd698.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKe5bd1a6ceba7f0a0f4e7487cb17ca365353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Content-Length: 0
>
>
> 19:54:51.209176 IP (tos 0x0, ttl 64, id 5621, offset 0, flags [none],
> proto UDP (17), length 713)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 685
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bKd8a1.094de0504827adb22c7b874f77dfd698.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKe5bd1a6ceba7f0a0f4e7487cb17ca365353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as518dbea9
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5569 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="31daf0f8"
>         Content-Length: 0
>
>
> 19:54:51.259436 IP (tos 0x10, ttl 64, id 34745, offset 0, flags [none],
> proto UDP (17), length 696)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 668
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5570 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK56b1.d46d0ab6448c5edd99f24aa7ba8a2881.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK440337c23337c9913220fd825f4d9ded353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="31daf0f8",uri="sip:
> 194.190.8.171:5060
> ",response="2b0222b07da7af1c3b72c2eb36241f5f",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.260101 IP (tos 0x0, ttl 64, id 5622, offset 0, flags [none],
> proto UDP (17), length 713)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 685
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK56b1.d46d0ab6448c5edd99f24aa7ba8a2881.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK440337c23337c9913220fd825f4d9ded353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0716dea5
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5570 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="2f70c759"
>         Content-Length: 0
>
>
> 19:54:51.292708 IP (tos 0x10, ttl 64, id 34746, offset 0, flags [none],
> proto UDP (17), length 696)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 668
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5571 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK66b1.0173e2524e6deda0f27b83591a62730f.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK30fe030eee49e2eb50c619074c0f057b353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: *
>         Expires: 0
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="2f70c759",uri="sip:
> 194.190.8.171:5060
> ",response="9eb7d157cfd0d8e8575b59c94c5f82f6",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.293541 IP (tos 0x0, ttl 64, id 5623, offset 0, flags [none],
> proto UDP (17), length 676)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 648
>         SIP/2.0 200 OK
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK66b1.0173e2524e6deda0f27b83591a62730f.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK30fe030eee49e2eb50c619074c0f057b353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=2801080754
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0716dea5
>         Call-ID: 676c32ab221a665a9bc9875ffb74930a at 192.168.1.103
>         CSeq: 5571 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Expires: 0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Content-Length: 0
>
>
> 19:54:51.317704 IP (tos 0x10, ttl 64, id 34747, offset 0, flags [none],
> proto UDP (17), length 583)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 555
>         REGISTER sip:194.190.8.171 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2404 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK2624.44980ae0ad3ba5026d6f044c24770539.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKdeb946998664720c2c93538625cc649e353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Content-Length: 0
>
>
> 19:54:51.318355 IP (tos 0x0, ttl 64, id 5624, offset 0, flags [none],
> proto UDP (17), length 712)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 684
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK2624.44980ae0ad3ba5026d6f044c24770539.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKdeb946998664720c2c93538625cc649e353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as0bba2324
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2404 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="023deb34"
>         Content-Length: 0
>
>
> 19:54:51.347429 IP (tos 0x10, ttl 64, id 34748, offset 0, flags [none],
> proto UDP (17), length 748)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 720
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2405 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK3624.173cef757dc8f7da8b864ee1ab1bfe50.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK60a6798f72024444a9870698b766a04c353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="023deb34",uri="sip:
> 194.190.8.171:5060
> ",response="7fa5be98c7c0c395ed41f9e7da095629",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.348212 IP (tos 0x0, ttl 64, id 5625, offset 0, flags [none],
> proto UDP (17), length 712)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 684
>         SIP/2.0 401 Unauthorized
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK3624.173cef757dc8f7da8b864ee1ab1bfe50.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bK60a6798f72024444a9870698b766a04c353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as065abeba
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2405 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
> nonce="26886c3d"
>         Content-Length: 0
>
>
> 19:54:51.373777 IP (tos 0x10, ttl 64, id 34749, offset 0, flags [none],
> proto UDP (17), length 748)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 720
>         REGISTER sip:194.190.8.171:5060 SIP/2.0
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2406 REGISTER
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK0624.82ac15efd62f203c1b009e3ab3c711bc.0
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKf4d831e0612e1074bf49397d92907c80353236;rport=57288
>         Max-Forwards: 16
>         User-Agent: SIPAUA/0.1.001
>         Contact: "1002" <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Expires: 3600
>         Authorization: Digest
> username="1002",realm="asterisk",nonce="26886c3d",uri="sip:
> 194.190.8.171:5060
> ",response="cc17aae74d45f06e4712aa66b08e68df",algorithm=MD5
>         Content-Length: 0
>
>
> 19:54:51.374731 IP (tos 0x0, ttl 64, id 5626, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:57288;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK129c83a7;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40306b56
>         To: <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 0e6d3cec7afd68275843c14303988ff3 at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:51.374804 IP (tos 0x0, ttl 64, id 5627, offset 0, flags [none],
> proto UDP (17), length 746)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 718
>         SIP/2.0 200 OK
>         Via: SIP/2.0/UDP
> 50.0.0.1;branch=z9hG4bK0624.82ac15efd62f203c1b009e3ab3c711bc.0;received=50.0.0.1;rport=5060
>         Via: SIP/2.0/UDP 192.168.1.103:57288
> ;received=77.37.241.151;branch=z9hG4bKf4d831e0612e1074bf49397d92907c80353236;rport=57288
>         From: "1002" <sip:1002 at 194.190.8.171>;tag=134783744
>         To: "1002" <sip:1002 at 194.190.8.171>;tag=as065abeba
>         Call-ID: fffb7a09e489ce1cad6783709652b6f9 at 192.168.1.103
>         CSeq: 2406 REGISTER
>         Server: Asterisk PBX 1.8.20.0
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Expires: 3600
>         Contact: <sip:1002 at 192.168.1.103:57288;transport=udp>;expires=3600
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Content-Length: 0
>
>
> 19:54:52.375348 IP (tos 0x0, ttl 64, id 5628, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:57288;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK129c83a7;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40306b56
>         To: <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 0e6d3cec7afd68275843c14303988ff3 at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:53.375562 IP (tos 0x0, ttl 64, id 5629, offset 0, flags [none],
> proto UDP (17), length 597)
>     50.0.0.10.5060 > 50.0.0.1.5060: SIP, length: 569
>         OPTIONS sip:1002 at 192.168.1.103:57288;transport=udp SIP/2.0
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK129c83a7;rport
>         Max-Forwards: 70
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40306b56
>         To: <sip:1002 at 192.168.1.103:57288;transport=udp>
>         Contact: <sip:asterisk at 50.0.0.10:5060>
>         Call-ID: 0e6d3cec7afd68275843c14303988ff3 at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         User-Agent: Asterisk PBX 1.8.20.0
>         Date: Mon, 03 Feb 2014 15:54:51 GMT
>         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
> NOTIFY, INFO, PUBLISH
>         Supported: replaces, timer
>         Content-Length: 0
>
>
> 19:54:54.342525 IP (tos 0x10, ttl 64, id 34750, offset 0, flags [none],
> proto UDP (17), length 413)
>     50.0.0.1.5060 > 50.0.0.10.5060: SIP, length: 385
>         SIP/2.0 408 Request Timeout
>         Via: SIP/2.0/UDP 50.0.0.10:5060;branch=z9hG4bK129c83a7;rport=5060
>         From: "asterisk" <sip:asterisk at 50.0.0.10>;tag=as40306b56
>         To: <sip:1002 at 192.168.1.103:57288
> ;transport=udp>;tag=6f6209fafb0c4bc816e1e7aa854ee2dd-1f6e
>         Call-ID: 0e6d3cec7afd68275843c14303988ff3 at 50.0.0.10:5060
>         CSeq: 102 OPTIONS
>         Server: kamailio (4.1.1 (x86_64/linux))
>         Content-Length: 0
>
>
> ####### Defined Values #########
>
> # - flags
> #   FLT_ - per transaction (message) flags
> #	FLB_ - per branch flags
> #!define FLT_ACC 1
> #!define FLT_ACCMISSED 2
> #!define FLT_ACCFAILED 3
> #!define FLT_NATS 5
>
> #!define FLB_NATB 6
> #!define FLB_NATSIPPING 7
>
> ####### Global Parameters #########
>
> # Enable debugging only when kamailio is mading boo-boo
> ### LOG Levels: 3=DBG, 2=INFO, 1=NOTICE, 0=WARN, -1=ERR
> debug=3
> log_stderror=no
>
> memdbg=5
> memlog=5
>
> log_facility=LOG_LOCAL0
>
> fork=yes
> children=8
>
> /* uncomment the next line to disable TCP (default on) */
> disable_tcp=yes
>
> /* uncomment the next line to disable the auto discovery of local aliases
>    based on reverse DNS on IPs (default on) */
> auto_aliases=no
>
> /* add local domain aliases */
> #alias="kamaz.ikatele.com"
>
> /* 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:50.0.0.1:5060 advertise 194.190.8.171:5060
> #listen=udp:194.190.8.171:5060 advertise 50.0.0.1:5060
>
> listen=udp:194.190.8.171
> listen=udp:50.0.0.1
>
> dns=no
> rev_dns=no
> check_via=yes
>
> /* port to listen to
>  * - can be specified more than once if needed to listen on many ports */
> port=5060
>
> mhomed=1
>
> ####### Modules Section ########
>
> # set paths to location of modules (to sources or installation folders)
> mpath="/usr/lib64/kamailio/modules/"
>
>
> loadmodule "mi_fifo.so"
> loadmodule "kex.so"
> loadmodule "tm.so"
> loadmodule "tmx.so"
> loadmodule "sl.so"
> loadmodule "rr.so"
> loadmodule "pv.so"
> loadmodule "maxfwd.so"
> loadmodule "usrloc.so"
> loadmodule "registrar.so"
> loadmodule "textops.so"
> loadmodule "siputils.so"
> loadmodule "xlog.so"
> loadmodule "sanity.so"
> loadmodule "ctl.so"
> loadmodule "cfg_rpc.so"
> loadmodule "mi_rpc.so"
> loadmodule "acc.so"
>
>
> loadmodule "nathelper.so"
> loadmodule "rtpproxy.so"
>
> #loadmodule "topoh.so"
> #modparam("topoh", "mask_key", "balalayka")
> #modparam("topoh", "mask_ip", "50.0.0.1")
>
> # ----------------- setting module-specific parameters ---------------
>
>
> # ----- mi_fifo params -----
> modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")
>
>
> # ----- tm params -----
> # auto-discard branches from previous serial forking leg
> modparam("tm", "failure_reply_mode", 3)
> # default retransmission timeout: 30sec
> modparam("tm", "fr_timer", 3000)
> # default invite retransmission timeout after 1xx: 120sec
> modparam("tm", "fr_inv_timer", 12000)
>
>
> # ----- 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", 1)
>
>
>
> # ----- rtpproxy params -----
> modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
>
> # ----- nathelper params -----
> modparam("nathelper", "natping_interval", 30)
> modparam("nathelper", "ping_nated_only", 1)
> modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
> modparam("nathelper", "sipping_from", "sip:pinger at 194.190.8.171")
>
> # params needed for NAT traversal in other modules
> modparam("nathelper", "received_avp", "$avp(RECEIVED)")
> modparam("usrloc", "nat_bflag", FLB_NATB)
>
>
>
> ####### Routing Logic ########
>
>
> # Main SIP request routing logic
> # - processing of any incoming SIP request starts with this route
> # - note: this is the same as route { ... }
>
> route {
>
> 	# per request initial checks
> 	route(REQINIT);
>
> 	# NAT detection
> 	xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) Main Route before  ---NAT---\n");
> 	
> 	route(NATDETECT);
>
> 	xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) in Route[NATDETECT] fix_nat-register\n");
>
> 	# CANCEL processing
> 	if (is_method("CANCEL"))
> 	{
> 		if (t_check_trans()) {
> 			route(RELAY);
> 		}
> 		exit;
> 	}
>
> 	# handle requests within SIP dialogs
> 	route(WITHINDLG);
>
> 	### only initial requests (no To tag)
>
> 	t_check_trans();
>
> 	# record routing for dialog forming requests (in case they are routed)
> 	# - remove preloaded route headers
> 	remove_hf("Route");
> 	if (is_method("INVITE|SUBSCRIBE"))
> 		record_route();
>
> 	# account only INVITEs
> 	if (is_method("INVITE"))
> 	{
> 		setflag(FLT_ACC); # do accounting
> 	}
>
>         # dispatch requests to foreign domains
>         route(SIPOUT);
>
> 	# handle registrations
> 	route(REGISTRAR);
>
> 	if ($rU==$null)
> 	{
> 		# request with no Username in RURI
> 		sl_send_reply("484","Address Incomplete");
> 		exit;
> 	}
>
> 	route(RELAY);
>
> }
>
> # Per SIP request initial checks
> route[REQINIT] {
> 	if (!mf_process_maxfwd_header("20")) {
> 	xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) in MAX FDW HEADERS ALARMO\n");
>
> 		sl_send_reply("483","Too Many Hops");
> 		exit;
> 	}
>
> 	if(!sanity_check("1511", "7"))
> 	{
> 		xlog("Malformed SIP message from $si:$sp\n");
> 		exit;
> 	}
> }
>
>
> # Caller NAT detection route
> route[NATDETECT] {
> 	force_rport();
> 	if (nat_uac_test("19")) {
> 		if (is_method("REGISTER")) {
> 			fix_nated_register();
> 		} else {
> 			if(is_first_hop())
> 				set_contact_alias();
> 		}
> 		setflag(FLT_NATS);
>
> 	}
> 	return;
> }
>
> # Handle requests within SIP dialogs
> route[WITHINDLG] {
> 	if (has_totag()) {
> 		# sequential request withing a dialog should
> 		# take the path determined by record-routing
> 		if (loose_route()) {
> 			route(DLGURI);
> 			if (is_method("BYE")) {
> 				setflag(FLT_ACC); # do accounting ...
> 				setflag(FLT_ACCFAILED); # ... even if the transaction fails
> 			}
> 			else if ( is_method("ACK") ) {
> 				# ACK is forwarded statelessy
> 				route(NATMANAGE);
> 			}
> 			else if ( is_method("NOTIFY") ) {
> 				# Add Record-Route for in-dialog NOTIFY as per RFC 6665.
> 				record_route();
> 			}
> 			route(RELAY);
> 		} else {
> 			if ( is_method("ACK") ) {
> 				if ( t_check_trans() ) {
> 					# no loose-route, but stateful ACK;
> 					# must be an ACK after a 487
> 					# or e.g. 404 from upstream server
> 					route(RELAY);
> 					exit;
> 				} else {
> 					xlog("L_NOTICE","ACK without matching transaction ... ignore and discard\n");
> 					# ACK without matching transaction ... ignore and discard
> 					exit;
> 				}
> 			}
> 			sl_send_reply("404","Not here");
> 		}
> 		exit;
> 	}
> }
>
>
> # Routing to foreign domains
> route[SIPOUT] {
>         if (!uri==myself)
>         {
>                 append_hf("P-hint: outbound\r\n");
>                 route(RELAY);
>         }
> }
> # Handle SIP registrations
> route[REGISTRAR] {
> 	if (is_method("REGISTER"))
> 	{
> #		if(isflagset(FLT_NATS))
> #		{
> #			setbflag(FLB_NATB);
> #			# uncomment next line to do SIP NAT pinging
> #			xlog("L_NOTICE","--------------------- SIP NAT PINGING --------------------------------------\n");
> #			setbflag(FLB_NATSIPPING);
> #		}
> #		if (!save("location"))
> #			sl_reply_error();
> #			xlog("L_NOTICE","--------------------- SL REPLY ERROR --------------------------------------\n");
> 	
> 			if( t_check_trans() )
> 				{
> 				xlog("L_NOTICE","Transaction already exist, forwarding\n");
> 				}
> 			else
> 				{
> 				xlog("L_NOTICE","New transaction upcoming, creating\n");
>
> #				forward("50.0.0.10");
> #				save("sip:50.0.0.10","0x02");
> 				t_relay_to_udp("50.0.0.10", "5060");
> 				exit;
> 			}
> 		exit;
> 	}
> }
>
>
>
> route[RELAY] {
> 	# enable additional event routes for forwarded requests
> 	# - serial forking, RTP relaying handling, a.s.o.
> 	xlog("L_NOTICE","Default routing block raised!\n");
> 	if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {
> 		if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH");
> 	}
> 	if (is_method("INVITE|SUBSCRIBE|UPDATE")) {
> 		if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY");
> 	}
> 	if (is_method("INVITE")) {
> 		if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");
> 	}
>
> 	if (!t_relay()) {
> 		sl_reply_error();
> 	}
> 	exit;
> }
>
>
> # RTPProxy control
> route[NATMANAGE] {
> 	if (is_request()) {
> 		if(has_totag()) {
> 			if(check_route_param("nat=yes")) {
> 			xlog("L_NOTICE","------------------------------------ SETBFLAG ----------------------------\n");
> 				setbflag(FLB_NATB);
> 			}
> 		}
> 	}
> 	if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))
> 		return;
>
> 	rtpproxy_manage();
>
> 	if (is_request()) {
> 		if (!has_totag()) {
> 			if(t_is_branch_route()) {
> 			xlog("L_NOTICE","------------------------------------ ADD RR PARAM NAT YES ----------------------------\n");
> 				add_rr_param(";nat=yes");
> 			}
> 		}
> 	}
> 	if (is_reply()) {
> 		if(isbflagset(FLB_NATB)) {
> 			if(is_first_hop())
> 				xlog("L_NOTICE","------------------------------------ IS FIRST HOP SRT CONACT ALIAS  ----------------------------\n");
> 				set_contact_alias();
> 		}
>
> 	xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) in route[NATMANAGE] RTPproxy with EI Flags\n");
>
> 	}
> 	return;
> }
>
> # URI update for dialog requests
> route[DLGURI] {
> 	if(!isdsturiset()) {
> 		handle_ruri_alias();
>
> 	xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) in route[DLGURI] RTPproxy with EI Flags\n");
>
> 	}
> 	return;
> }
>
> # manage outgoing branches
> branch_route[MANAGE_BRANCH] {
> 	xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) in MANAGE_BRANCH\n");
> 	xdbg("new branch [$T_branch_idx] to $ru\n");
> 	route(NATMANAGE);
> }
>
> # manage incoming replies
> onreply_route[MANAGE_REPLY] {
> 	xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) in MANAGE_REPLY\n");
> 	xdbg("incoming reply\n");
> 	if(status=~"[12][0-9][0-9]")
> 		route(NATMANAGE);
> }
>
> # manage failure routing cases
> failure_route[MANAGE_FAILURE] {
> 	xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) in MANAGE_FAILURE\n");
> 	route(NATMANAGE);
>
> 	if (t_is_canceled()) {
> 		exit;
> 	}
> }
>
>
> route[DEBUG] {
>         if (method==("PUBLISH|SUBSCRIBE|REGISTER|OPTIONS")) {
>                 return;
>         }
>         xlog("[$mi] Received SIP Message (method: $rm) ($ml bytes) to $Ri:$Rp from $si:$sp:\n$mb\n");
> }
>
>
>
>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Mon, 3 Feb 2014 15:14:19 +0400
>> From: "*sm1Ly" <st.uzver at gmail.com>
>> To: dipak.biswas at mezocliq.com, sr-users at lists.sip-router.org
>> Subject: Re: [SR-Users] Kamailio not mdifying Contact in multi-homed
>>         setup
>> Message-ID:
>>         <
>> CABCivXiED_CDQiJtgQ-p_XQ1h8p3rbkE3fnxnS2iuUH+kdHZvA at mail.gmail.com>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> hello, I got the same issue. my sip device getting ok from kamailio, but
>> asterisk reply 401.
>> but.
>> this is my config: http://pastebin.com/jGCak01E
>>
>> and I changed regfwd route to
>>         $du = "sip:50.0.0.10:5060;transport=udp";
>>         forward();
>>
>> and now I see this in logs:
>>
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:633]: parse_msg(): SIP Reply  (status):
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:635]: parse_msg():  version: <SIP/2.0>
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:637]: parse_msg():  status:  <200>
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:639]: parse_msg():  reason:  <OK>
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/parse_via.c:1284]: parse_via_param(): Found param type 232,
>> <branch> = <0>; state=16
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/parse_via.c:2672]: parse_via(): end of header reached, state=5
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:513]: parse_headers(): parse_headers: Via found,
>> flags=2
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:515]: parse_headers(): parse_headers: this is the
>> first via
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [receive.c:152]: receive_msg(): After parse_msg...
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: tm
>> [t_lookup.c:1071]: t_check_msg(): DEBUG: t_check_msg: msg id=25 global
>> id=24 T start=(nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/parse_addr_spec.c:176]: parse_to_param(): DEBUG: add_param:
>> tag=006cfccc318be31188fc19977b3a5651
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/parse_addr_spec.c:885]: parse_addr_spec(): end of header reached,
>> state=29
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:190]: get_hdr_field(): DEBUG: get_hdr_field: <To>
>> [63]; uri=[sip:77.37.241.151:5060]
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:192]: get_hdr_field(): DEBUG: to body [<sip:
>> 77.37.241.151:5060>]
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:170]: get_hdr_field(): get_hdr_field: cseq <CSeq>:
>> <1>
>> <OPTIONS>
>> *Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: tm
>> [t_lookup.c:1045]: t_reply_matching(): DEBUG: t_reply_matching: failure to
>> match a transaction*
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: tm
>> [t_lookup.c:1140]: t_check_msg(): DEBUG: t_check_msg: msg id=25 global
>> id=25 T end=(nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:204]: get_hdr_field(): DEBUG: get_hdr_body :
>> content_length=0
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [parser/msg_parser.c:106]: get_hdr_field(): found end of header
>> *Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [forward.c:784]: do_forward_reply(): reply cannot be forwarded - no 2nd
>> via*
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list: destroying
>> list (nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list: destroying
>> list (nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list: destroying
>> list (nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list: destroying
>> list (nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list: destroying
>> list (nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list: destroying
>> list (nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [xavp.c:448]: xavp_destroy_list(): destroying xavp list (nil)
>> Feb  3 15:13:38 kamaz /usr/sbin/kamailio[14502]: DEBUG: <core>
>> [receive.c:296]: receive_msg(): receive_msg: cleaning up
>>
>>
>> any ideas?
>> and show me ur conf please.
>>
>>
>> --
>>
>> Hi All,
>>
>> I'm running into an issue, I'm not sure whether any of you seen this
>> yourselves and resolved it. Please share some pointers. My network is:
>>
>> clients <--> Public IP(Kamailio/RTPProxy)10.1.128.11 <--> 10.1.128.34
>> (Freeswitch)
>>
>> The 200 OK response from Freeswitch (on the way back from called party to
>> caller) to Kamailio is shown below. Notice the Contact header URI host
>> part
>> contains Freeswitch Private IP (10.1.128.34). Kamailio suppose to change
>> that to Public IP before forwarding the 200 OK (copied below) to Caller in
>> public domain. But, it's not. As a result, ACK from Caller is not reaching
>> back to Kamailio.
>>
>> How did you or anybody out there using Kamailio resolve this problem? If
>> needed, I can copy/paste my kamailio.cfg.
>>
>> --
>> yours respectfully, Alexander Vasin.
>>
>> 8 926 1437200
>> icq: 9906064
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL: <
>> http://lists.sip-router.org/pipermail/sr-users/attachments/20140203/e075d4f0/attachment-0001.html
>> >
>>
>> ------------------------------
>>
>>
>
>
> --
> yours respectfully, Alexander Vasin.
>
> 8 926 1437200
> icq: 9906064
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>


-- 
Thanks,
Dipak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140205/6e7b5b14/attachment-0001.html>


More information about the sr-users mailing list