<pre><code>#!KAMAILIO
#
####### Global Parameters #########

### LOG Levels: 3=DBG, 2=INFO, 1=NOTICE, 0=WARN, -1=ERR
log_stderror=yes

memdbg=5
memlog=5

log_facility=LOG_LOCAL0
log_stderror=yes
fork=no

/* 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

# 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

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

# set paths to location of modules (to sources or installation folders)
mpath="modules"

loadmodule "pv.so"
loadmodule "cfgt.so"
loadmodule "xlog.so"
loadmodule "debugger.so"

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

modparam("cfgt", "basedir", "/log/cfgt")
modparam("cfgt", "mask", 4)

# ----- debugger params -----
modparam("debugger", "cfgtrace", 1)
modparam("debugger", "mod_level_mode", 1)
modparam("debugger", "mod_hash_size", 4)
modparam("debugger", "mod_level", "core=3")
modparam("debugger", "cfgtest", 1)
####### Routing Logic ########


route[TEST1] {
        $var(script_var) = "test1";
}

onsend_route {
        xlog("onsend\n");
        $var(script_var) = "on_send";
}

reply_route {
        xlog("reply\n");
        $var(script_var) = "on_reply";
}

route[TEST2] {
        $var(script_var) = "test2";
}

# Main SIP request routing logic
# - processing of any incoming SIP request starts with this route
# - note: this is the same as route { ... }
request_route {
        if(status=~"4[0-9][0-9]") {
                exit;
        }
        $var(script_var) = "ini";
        route(TEST1);
        route(TEST2);
        $du = "sip:reply@192.168.106.1";
        forward();
        exit;
}
</code></pre>
<p>confirmed:</p>
<pre><code>kamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=86 a=16 n=if
kamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=86 a=63 n=assign
kamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=87 a=5 n=route
kamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[TEST1] c=[/etc/kamailio/kamailio.cfg] l=62 a=63 n=assign
kamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=88 a=5 n=route
kamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[TEST2] c=[/etc/kamailio/kamailio.cfg] l=76 a=63 n=assign
kamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=89 a=63 n=assign
kamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=90 a=1 n=forward
kamailio_1  | 13(20) DEBUG: <core> [core/md5utils.c:67]: MD5StringArray(): MD5 calculated: 2ba6b842aef10b2968059c36d9581118
kamailio_1  | 13(20) DEBUG: <core> [core/forward.c:557]: forward_request(): Sending:
kamailio_1  | OPTIONS sip:kamailio SIP/2.0
kamailio_1  | Via: SIP/2.0/UDP 172.19.0.2;branch=z9hG4bK2aec.2ba6b842aef10b2968059c36d9581118.0
kamailio_1  | Via: SIP/2.0/UDP 172.19.0.3:36095;received=172.19.0.3;branch=z9hG4bK.38e42f28;rport=44285;alias
kamailio_1  | From: sip:sipsak@172.19.0.3:36095;tag=23de4e29
kamailio_1  | To: sip:kamailio
kamailio_1  | Call-ID: 601771561@172.19.0.3
kamailio_1  | CSeq: 1 OPTIONS
kamailio_1  | Contact: sip:sipsak@172.19.0.3:36095
kamailio_1  | Content-Length: 0
kamailio_1  | Max-Forwards: 70
kamailio_1  | User-Agent: sipsak 0.9.7pre
kamailio_1  | Accept: text/plain
kamailio_1  | 
kamailio_1  | .
kamailio_1  | 13(20) DEBUG: <core> [core/forward.c:558]: forward_request(): orig. len=341, new_len=450, proto=1
kamailio_1  | 13(20) ERROR: *** cfgtrace:onsend_route=[TEST1] c=[/etc/kamailio/kamailio.cfg] l=66 a=25 n=xlog
kamailio_1  | 13(20) ERROR: <script>: onsend
kamailio_1  | 13(20) ERROR: *** cfgtrace:onsend_route=[TEST1] c=[/etc/kamailio/kamailio.cfg] l=67 a=63 n=assign
</code></pre>
<p>after the fix:</p>
<pre><code>kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=86 a=16 n=if
kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=86 a=63 n=assign
kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=87 a=5 n=route
kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[TEST1] c=[/etc/kamailio/kamailio.cfg] l=62 a=63 n=assign
kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=88 a=5 n=route
kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[TEST2] c=[/etc/kamailio/kamailio.cfg] l=76 a=63 n=assign
kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=89 a=63 n=assign
kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=90 a=1 n=forward
kamailio_1  | 11(18) DEBUG: <core> [core/md5utils.c:67]: MD5StringArray(): MD5 calculated: 831d32523fe7b7fab3ed5ec35c417c91
kamailio_1  | 11(18) DEBUG: <core> [core/forward.c:557]: forward_request(): Sending:
kamailio_1  | OPTIONS sip:kamailio SIP/2.0
kamailio_1  | Via: SIP/2.0/UDP 172.19.0.2;branch=z9hG4bKda4c.831d32523fe7b7fab3ed5ec35c417c91.0
kamailio_1  | Via: SIP/2.0/UDP 172.19.0.3:37327;received=172.19.0.3;branch=z9hG4bK.63f4bc52;rport=54327;alias
kamailio_1  | From: sip:sipsak@172.19.0.3:37327;tag=1287317e
kamailio_1  | To: sip:kamailio
kamailio_1  | Call-ID: 310849918@172.19.0.3
kamailio_1  | CSeq: 1 OPTIONS
kamailio_1  | Contact: sip:sipsak@172.19.0.3:37327
kamailio_1  | Content-Length: 0
kamailio_1  | Max-Forwards: 70
kamailio_1  | User-Agent: sipsak 0.9.7pre
kamailio_1  | Accept: text/plain
kamailio_1  | 
kamailio_1  | .
kamailio_1  | 11(18) DEBUG: <core> [core/forward.c:558]: forward_request(): orig. len=341, new_len=450, proto=1
kamailio_1  | 11(18) ERROR: *** cfgtrace:onsend_route=[DEFAULT_SEND] c=[/etc/kamailio/kamailio.cfg] l=66 a=25 n=xlog
kamailio_1  | 11(18) ERROR: <script>: onsend
kamailio_1  | 11(18) ERROR: *** cfgtrace:onsend_route=[DEFAULT_SEND] c=[/etc/kamailio/kamailio.cfg] l=67 a=63 n=assign
kamailio_1  | 11(18) ERROR: cfgt [cfgt_int.c:332]: cfgt_save_node(): failed to make directory: No such file or directory
kamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=91 a=2 n=exit
kamailio_1  | 11(18) DEBUG: <core> [core/receive.c:344]: receive_msg(): request-route executed in: 2634 usec
</code></pre>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/issues/1536#issuecomment-395460843">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZbvGODNBMPOxCl-fE9pL4Erd1Dakks5t6UVEgaJpZM4UGnFq">mute the thread</a>.<img src="https://github.com/notifications/beacon/AF36ZRxRrFBt5didIwKI7c4nNt-Ql1v5ks5t6UVEgaJpZM4UGnFq.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","potentialAction":{"@type":"ViewAction","target":"https://github.com/kamailio/kamailio/issues/1536#issuecomment-395460843","url":"https://github.com/kamailio/kamailio/issues/1536#issuecomment-395460843","name":"View Issue"},"description":"View this Issue on GitHub","publisher":{"@type":"Organization","name":"GitHub","url":"https://github.com"}}</script>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/kamailio/kamailio","title":"kamailio/kamailio","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/kamailio/kamailio"}},"updates":{"snippets":[{"icon":"PERSON","message":"@linuxmaniac in #1536: ```\r\n#!KAMAILIO\r\n#\r\n####### Global Parameters #########\r\n\r\n### LOG Levels: 3=DBG, 2=INFO, 1=NOTICE, 0=WARN, -1=ERR\r\nlog_stderror=yes\r\n\r\nmemdbg=5\r\nmemlog=5\r\n\r\nlog_facility=LOG_LOCAL0\r\nlog_stderror=yes\r\nfork=no\r\n\r\n/* uncomment the next line to disable TCP (default on) */\r\ndisable_tcp=yes\r\n\r\n/* uncomment the next line to disable the auto discovery of local aliases\r\n * based on reverse DNS on IPs (default on) */\r\nauto_aliases=no\r\n\r\n/* add local domain aliases */\r\n#alias=\"sip.mydomain.com\"\r\n\r\n/* uncomment and configure the following line if you want Kamailio to\r\n * bind on a specific interface/port/proto (default bind on all available) */\r\n#listen=udp:10.0.0.10:5060\r\n\r\n/* port to listen to\r\n * - can be specified more than once if needed to listen on many ports */\r\nport=5060\r\n\r\n# life time of TCP connection when there is no traffic\r\n# - a bit higher than registration expires to cope with UA behind NAT\r\ntcp_connection_lifetime=3605\r\n\r\n####### Modules Section ########\r\n\r\n# set paths to location of modules (to sources or installation folders)\r\nmpath=\"modules\"\r\n\r\nloadmodule \"pv.so\"\r\nloadmodule \"cfgt.so\"\r\nloadmodule \"xlog.so\"\r\nloadmodule \"debugger.so\"\r\n\r\n# ----------------- setting module-specific parameters ---------------\r\n\r\nmodparam(\"cfgt\", \"basedir\", \"/log/cfgt\")\r\nmodparam(\"cfgt\", \"mask\", 4)\r\n\r\n# ----- debugger params -----\r\nmodparam(\"debugger\", \"cfgtrace\", 1)\r\nmodparam(\"debugger\", \"mod_level_mode\", 1)\r\nmodparam(\"debugger\", \"mod_hash_size\", 4)\r\nmodparam(\"debugger\", \"mod_level\", \"core=3\")\r\nmodparam(\"debugger\", \"cfgtest\", 1)\r\n####### Routing Logic ########\r\n\r\n\r\nroute[TEST1] {\r\n\t$var(script_var) = \"test1\";\r\n}\r\n\r\nonsend_route {\r\n\txlog(\"onsend\\n\");\r\n\t$var(script_var) = \"on_send\";\r\n}\r\n\r\nreply_route {\r\n\txlog(\"reply\\n\");\r\n\t$var(script_var) = \"on_reply\";\r\n}\r\n\r\nroute[TEST2] {\r\n\t$var(script_var) = \"test2\";\r\n}\r\n\r\n# Main SIP request routing logic\r\n# - processing of any incoming SIP request starts with this route\r\n# - note: this is the same as route { ... }\r\nrequest_route {\r\n\tif(status=~\"4[0-9][0-9]\") {\r\n\t\texit;\r\n\t}\r\n\t$var(script_var) = \"ini\";\r\n\troute(TEST1);\r\n\troute(TEST2);\r\n\t$du = \"sip:reply@192.168.106.1\";\r\n\tforward();\r\n\texit;\r\n}\r\n```\r\nconfirmed:\r\n```\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=86 a=16 n=if\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=86 a=63 n=assign\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=87 a=5 n=route\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[TEST1] c=[/etc/kamailio/kamailio.cfg] l=62 a=63 n=assign\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=88 a=5 n=route\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[TEST2] c=[/etc/kamailio/kamailio.cfg] l=76 a=63 n=assign\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=89 a=63 n=assign\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=90 a=1 n=forward\r\nkamailio_1  | 13(20) DEBUG: \u003ccore\u003e [core/md5utils.c:67]: MD5StringArray(): MD5 calculated: 2ba6b842aef10b2968059c36d9581118\r\nkamailio_1  | 13(20) DEBUG: \u003ccore\u003e [core/forward.c:557]: forward_request(): Sending:\r\nkamailio_1  | OPTIONS sip:kamailio SIP/2.0\r\nkamailio_1  | Via: SIP/2.0/UDP 172.19.0.2;branch=z9hG4bK2aec.2ba6b842aef10b2968059c36d9581118.0\r\nkamailio_1  | Via: SIP/2.0/UDP 172.19.0.3:36095;received=172.19.0.3;branch=z9hG4bK.38e42f28;rport=44285;alias\r\nkamailio_1  | From: sip:sipsak@172.19.0.3:36095;tag=23de4e29\r\nkamailio_1  | To: sip:kamailio\r\nkamailio_1  | Call-ID: 601771561@172.19.0.3\r\nkamailio_1  | CSeq: 1 OPTIONS\r\nkamailio_1  | Contact: sip:sipsak@172.19.0.3:36095\r\nkamailio_1  | Content-Length: 0\r\nkamailio_1  | Max-Forwards: 70\r\nkamailio_1  | User-Agent: sipsak 0.9.7pre\r\nkamailio_1  | Accept: text/plain\r\nkamailio_1  | \r\nkamailio_1  | .\r\nkamailio_1  | 13(20) DEBUG: \u003ccore\u003e [core/forward.c:558]: forward_request(): orig. len=341, new_len=450, proto=1\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:onsend_route=[TEST1] c=[/etc/kamailio/kamailio.cfg] l=66 a=25 n=xlog\r\nkamailio_1  | 13(20) ERROR: \u003cscript\u003e: onsend\r\nkamailio_1  | 13(20) ERROR: *** cfgtrace:onsend_route=[TEST1] c=[/etc/kamailio/kamailio.cfg] l=67 a=63 n=assign\r\n```\r\nafter the fix:\r\n```\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=86 a=16 n=if\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=86 a=63 n=assign\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=87 a=5 n=route\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[TEST1] c=[/etc/kamailio/kamailio.cfg] l=62 a=63 n=assign\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=88 a=5 n=route\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[TEST2] c=[/etc/kamailio/kamailio.cfg] l=76 a=63 n=assign\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=89 a=63 n=assign\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=90 a=1 n=forward\r\nkamailio_1  | 11(18) DEBUG: \u003ccore\u003e [core/md5utils.c:67]: MD5StringArray(): MD5 calculated: 831d32523fe7b7fab3ed5ec35c417c91\r\nkamailio_1  | 11(18) DEBUG: \u003ccore\u003e [core/forward.c:557]: forward_request(): Sending:\r\nkamailio_1  | OPTIONS sip:kamailio SIP/2.0\r\nkamailio_1  | Via: SIP/2.0/UDP 172.19.0.2;branch=z9hG4bKda4c.831d32523fe7b7fab3ed5ec35c417c91.0\r\nkamailio_1  | Via: SIP/2.0/UDP 172.19.0.3:37327;received=172.19.0.3;branch=z9hG4bK.63f4bc52;rport=54327;alias\r\nkamailio_1  | From: sip:sipsak@172.19.0.3:37327;tag=1287317e\r\nkamailio_1  | To: sip:kamailio\r\nkamailio_1  | Call-ID: 310849918@172.19.0.3\r\nkamailio_1  | CSeq: 1 OPTIONS\r\nkamailio_1  | Contact: sip:sipsak@172.19.0.3:37327\r\nkamailio_1  | Content-Length: 0\r\nkamailio_1  | Max-Forwards: 70\r\nkamailio_1  | User-Agent: sipsak 0.9.7pre\r\nkamailio_1  | Accept: text/plain\r\nkamailio_1  | \r\nkamailio_1  | .\r\nkamailio_1  | 11(18) DEBUG: \u003ccore\u003e [core/forward.c:558]: forward_request(): orig. len=341, new_len=450, proto=1\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:onsend_route=[DEFAULT_SEND] c=[/etc/kamailio/kamailio.cfg] l=66 a=25 n=xlog\r\nkamailio_1  | 11(18) ERROR: \u003cscript\u003e: onsend\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:onsend_route=[DEFAULT_SEND] c=[/etc/kamailio/kamailio.cfg] l=67 a=63 n=assign\r\nkamailio_1  | 11(18) ERROR: cfgt [cfgt_int.c:332]: cfgt_save_node(): failed to make directory: No such file or directory\r\nkamailio_1  | 11(18) ERROR: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=91 a=2 n=exit\r\nkamailio_1  | 11(18) DEBUG: \u003ccore\u003e [core/receive.c:344]: receive_msg(): request-route executed in: 2634 usec\r\n```"}],"action":{"name":"View Issue","url":"https://github.com/kamailio/kamailio/issues/1536#issuecomment-395460843"}}}</script>
<script type="application/ld+json">{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [kamailio/kamailio] cfgt: wrong route name if onsend_route is not declared at the beginning (#1536)",
"sections": [
{
"text": "",
"activityTitle": "**Victor Seva**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@linuxmaniac",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"kamailio/kamailio\",\n\"issueId\": 1536,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/kamailio/kamailio/issues/1536#issuecomment-395460843"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 337277290\n}"
}
],
"themeColor": "26292E"
}</script>