Catalina,
catalina oancea wrote:
> From what I know the record-route header is not compulsory, and
> dialog-matching can also be done using rfc dialog-matching instead of
> the did parameter in record-route (modparam("dialog",
> "dlg_match_mode", 2)). This is what I am trying to use, I don't want
> to use the record-route header at all.
It is true that you do not have to use the dialog fast-matching cookie
parameter in the Record-Route header.
However, you need the Record-Route header in order for the proxy to have
visibility into subsequent sequential requests within the dialog, so you
might as well use the parameter for faster matching.
In other words, if you don't add Record-Route, your proxy won't see
BYEs, re-INVITEs, etc. See RFC 3261 20.30
(http://www.ietf.org/rfc/rfc3261.txt):
20.30 Record-Route
The Record-Route header field is inserted by proxies in a request to
force future requests in the dialog to be routed through the proxy.
-- Alex
--
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (678) 237-1775
Hi all
I'm new to the kamailio actually this is my first try.
After reeding for a while various documents and the book for the openser.
I tried to create my first kamailio installation and configuration.
I have to admit that the kamailio / openser has a steep learning curve.
Anyway I have created the attached script but it doesn't work as
intended( I tried my best), even though I'm able to register users and
make calls between them, I'm unable to make outgoing calls.
From what I see when it reaches the route[10] it ignores the routing
entries and it fails giving me the 404 error message at the end of the
route[10]
On the attached file are the logs of the kamailio, the config file and
also a sip trace
10.10.10.1 is the ip of the kamailio server
10.10.10.2 is the ip of the test softphone
Any help will be greatly appreciated
Regards
Panagiotis
May 29 14:05:13 cacofonix /sbin/kamailio[7885]: DBG:core:db_do_init: connection 0x67b6b0 found in pool
May 29 14:05:13 cacofonix /sbin/kamailio[7897]: DBG:core:db_do_init: connection 0x67b6b0 found in pool
May 29 14:05:13 cacofonix /sbin/kamailio[7895]: DBG:core:init_mod_child: type=CHILD, rank=10, module=alias_db
May 29 14:05:13 cacofonix /sbin/kamailio[7885]: DBG:core:init_mod_child: type=CHILD, rank=5, module=domain
May 29 14:05:13 cacofonix /sbin/kamailio[7897]: DBG:core:init_mod_child: type=CHILD, rank=12, module=domain
May 29 14:05:13 cacofonix /sbin/kamailio[7895]: DBG:core:db_do_init: connection 0x67b6b0 found in pool
May 29 14:05:13 cacofonix /sbin/kamailio[7895]: DBG:core:init_mod_child: type=CHILD, rank=10, module=domain
May 29 14:05:13 cacofonix /sbin/kamailio[7897]: DBG:core:io_watch_add: io_watch_add(0x62d760, 26, 1, (nil)), fd_no=0
May 29 14:05:13 cacofonix /sbin/kamailio[7895]: DBG:core:io_watch_add: io_watch_add(0x62d760, 22, 1, (nil)), fd_no=0
May 29 14:05:15 cacofonix /sbin/kamailio[7886]: DBG:core:udp_rcv_loop: probing packet received from 10.10.10.2 50195
May 29 14:05:23 cacofonix /sbin/kamailio[7887]: DBG:core:udp_rcv_loop: probing packet received from 10.10.10.3 50195
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:udp_rcv_loop: probing packet received from 10.10.10.2 50195
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_msg: SIP Request:
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_msg: method: <INVITE>
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_msg: uri: <sip:2109558353@10.10.10.1>
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_msg: version: <SIP/2.0>
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=2
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_via_param: found param type 235, <rport> = <n/a>; state=6
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_via_param: found param type 232, <branch> = <z9hG4bK922E579CA9FE416C85D258AA48A53F66>; state=16
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_via: end of header reached, state=5
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: via found, flags=2
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: this is the first via
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:receive_msg: After parse_msg...
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:receive_msg: preparing to run routing scripts...
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=100
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_to: end of header reached, state=10
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_to: display={}, ruri={sip:2109558353@10.10.10.1}
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: <To> [30]; uri=[sip:2109558353@10.10.10.1]
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: to body [<sip:2109558353@10.10.10.1> ]
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: cseq <CSeq>: <40369> <INVITE>
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:maxfwd:is_maxfwd_present: value = 70
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=200
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: content_length=200
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: found end of header
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:rr:find_first_route: No Route headers found
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:rr:loose_route: There is no Route HF
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_to_param: tag=4019420419
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_to: end of header reached, state=29
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_to: display={1000}, ruri={sip:1000@10.10.10.1}
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=10000
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:auth:pre_auth: credentials with given realm not found
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:auth:reserve_nonce_index: second= 12, sec_monit= -1, index= 0
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:auth:build_auth_hf: nonce index= 0
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:auth:build_auth_hf: 'Proxy-Authenticate: Digest realm="10.10.10.1", nonce="4a1fc2a20000000068765cb99b6b87c240bf07ca3cd82c2b", qop="auth" '
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=ffffffffffffffff
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:check_via_address: params 10.10.10.2, 10.10.10.2, 0
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:destroy_avp_list: destroying list (nil)
May 29 14:05:26 cacofonix /sbin/kamailio[7885]: DBG:core:receive_msg: cleaning up
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_msg: SIP Request:
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_msg: method: <ACK>
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_msg: uri: <sip:2109558353@10.10.10.1>
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_msg: version: <SIP/2.0>
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: flags=2
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_msg: SIP Request:
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_msg: method: <INVITE>
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_msg: uri: <sip:2109558353@10.10.10.1>
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_msg: version: <SIP/2.0>
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_headers: flags=2
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_via_param: found param type 235, <rport> = <n/a>; state=6
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_via_param: found param type 232, <branch> = <z9hG4bKFDFB9856E9FA4AF3B3FC0E502BF03396>; state=16
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_via: end of header reached, state=5
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_headers: via found, flags=2
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_headers: this is the first via
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:receive_msg: After parse_msg...
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:receive_msg: preparing to run routing scripts...
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_headers: flags=100
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_to: end of header reached, state=10
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_to: display={}, ruri={sip:2109558353@10.10.10.1}
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:get_hdr_field: <To> [30]; uri=[sip:2109558353@10.10.10.1]
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:get_hdr_field: to body [<sip:2109558353@10.10.10.1> ]
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:get_hdr_field: cseq <CSeq>: <40370> <INVITE>
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:maxfwd:is_maxfwd_present: value = 70
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_headers: flags=200
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:get_hdr_field: content_length=200
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:get_hdr_field: found end of header
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:rr:find_first_route: No Route headers found
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:rr:loose_route: There is no Route HF
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_to_param: tag=4019420419
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_to: end of header reached, state=29
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_via_param: found param type 235, <rport> = <n/a>; state=6
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_to: display={1000}, ruri={sip:1000@10.10.10.1}
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:auth:check_nonce: comparing [4a1fc2a20000000068765cb99b6b87c240bf07ca3cd82c2b] and [4a1fc2a20000000068765cb99b6b87c240bf07ca3cd82c2b]
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_via_param: found param type 232, <branch> = <z9hG4bK922E579CA9FE416C85D258AA48A53F66>; state=16
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_via: end of header reached, state=5
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: via found, flags=2
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: this is the first via
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:receive_msg: After parse_msg...
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:receive_msg: preparing to run routing scripts...
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: flags=8
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_to_param: tag=f8f2ab2c1295e90ed7dbb499b30f44b2.acab
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_to: end of header reached, state=29
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:parse_to: display={}, ruri={sip:2109558353@10.10.10.1}
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:get_hdr_field: <To> [72]; uri=[sip:2109558353@10.10.10.1]
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:get_hdr_field: to body [<sip:2109558353@10.10.10.1>]
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:sl:sl_filter_ACK: local ACK found -> dropping it!
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_new_result: allocate 48 bytes for result set at 0x67e9e0
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:db_mysql:db_mysql_get_columns: 1 columns returned from the query
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_allocate_columns: allocate 8 bytes for result names at 0x67ea20
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_allocate_columns: allocate 4 bytes for result types at 0x67ea38
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:db_mysql:db_mysql_get_columns: allocate 16 bytes for RES_NAMES[0] at 0x67ea50
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:destroy_avp_list: destroying list (nil)
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:db_mysql:db_mysql_get_columns: RES_NAMES(0x67ea50)[0]=[password]
May 29 14:05:26 cacofonix /sbin/kamailio[7887]: DBG:core:receive_msg: cleaning up
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:db_mysql:db_mysql_get_columns: use DB_STRING result type
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:db_mysql:db_mysql_convert_rows: allocate 16 bytes for rows at 0x67ea70
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:db_mysql:db_mysql_convert_row: allocate 32 bytes for row values at 0x67ea90
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:db_mysql:db_mysql_str2val: converting STRING [1234]
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:auth_db:get_ha1: HA1 string calculated: b58b19cd7ec8f67671261ace34df3352
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:auth:check_response: our result = 'b6844cdf0cd709b959844e75aa3d206e'
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:auth:check_response: authorization is OK
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:auth:post_auth: nonce index= 0
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_free_columns: freeing 1 columns
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_free_columns: freeing RES_NAMES[0] at 0x67ea50
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_free_columns: freeing result names at 0x67ea20
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_free_columns: freeing result types at 0x67ea38
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_free_rows: freeing 1 rows
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_free_row: freeing row values at 0x67ea90
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_free_rows: freeing rows at 0x67ea70
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:db_free_result: freeing result set at 0x67e9e0
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:uri_db:check_username: Digest username and URI username match
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:registrar:lookup: '2109558353' Not found in usrloc
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_headers: flags=ffffffffffffffff
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_headers: flags=ffffffffffffffff
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:registrar:lookup: '2109558353' Not found in usrloc
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:parse_headers: flags=ffffffffffffffff
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:check_via_address: params 10.10.10.2, 10.10.10.2, 0
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:destroy_avp_list: destroying list (nil)
May 29 14:05:26 cacofonix /sbin/kamailio[7888]: DBG:core:receive_msg: cleaning up
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_msg: SIP Request:
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_msg: method: <ACK>
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_msg: uri: <sip:2109558353@10.10.10.1>
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_msg: version: <SIP/2.0>
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_headers: flags=2
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_via_param: found param type 235, <rport> = <n/a>; state=6
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_via_param: found param type 232, <branch> = <z9hG4bKFDFB9856E9FA4AF3B3FC0E502BF03396>; state=16
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_via: end of header reached, state=5
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_headers: via found, flags=2
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_headers: this is the first via
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:receive_msg: After parse_msg...
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:receive_msg: preparing to run routing scripts...
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_headers: flags=8
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_to_param: tag=f8f2ab2c1295e90ed7dbb499b30f44b2.4410
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_to: end of header reached, state=29
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:parse_to: display={}, ruri={sip:2109558353@10.10.10.1}
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:get_hdr_field: <To> [72]; uri=[sip:2109558353@10.10.10.1]
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:get_hdr_field: to body [<sip:2109558353@10.10.10.1>]
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:sl:sl_filter_ACK: local ACK found -> dropping it!
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:destroy_avp_list: destroying list (nil)
May 29 14:05:26 cacofonix /sbin/kamailio[7886]: DBG:core:receive_msg: cleaning up
May 29 14:05:33 cacofonix /sbin/kamailio[7887]: DBG:core:udp_rcv_loop: probing packet received from 10.10.10.3 50195
May 29 14:05:36 cacofonix /sbin/kamailio[7888]: DBG:core:udp_rcv_loop: probing packet received from 10.10.10.2 50195
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_msg: SIP Request:
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_msg: method: <REGISTER>
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_msg: uri: <sip:10.10.10.1>
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_msg: version: <SIP/2.0>
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=2
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_via_param: found param type 235, <rport> = <n/a>; state=6
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_via_param: found param type 232, <branch> = <z9hG4bK2F79CABEA0A7425C85C5A73A6CFC20D9>; state=16
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_via: end of header reached, state=5
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: via found, flags=2
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: this is the first via
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:receive_msg: After parse_msg...
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:receive_msg: preparing to run routing scripts...
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=100
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_to: end of header reached, state=10
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_to: display={1000}, ruri={sip:1000@10.10.10.1}
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: <To> [29]; uri=[sip:1000@10.10.10.1]
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: to body [1000 <sip:1000@10.10.10.1> ]
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: cseq <CSeq>: <52298> <REGISTER>
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:maxfwd:is_maxfwd_present: value = 70
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=200
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: content_length=0
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:get_hdr_field: found end of header
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:rr:find_first_route: No Route headers found
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:rr:loose_route: There is no Route HF
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=4000
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:auth:pre_auth: credentials with given realm not found
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:auth:reserve_nonce_index: second= 26, sec_monit= -1, index= 1
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:auth:build_auth_hf: nonce index= 1
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:auth:build_auth_hf: 'WWW-Authenticate: Digest realm="cacofonix.egreta.gr", nonce="4a1fc2b000000001a3e397db4e141e53da30ad0696760da3", qop="auth" '
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:parse_headers: flags=ffffffffffffffff
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:check_via_address: params 10.10.10.2, 10.10.10.2, 0
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:destroy_avp_list: destroying list (nil)
May 29 14:05:40 cacofonix /sbin/kamailio[7885]: DBG:core:receive_msg: cleaning up
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_msg: SIP Request:
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_msg: method: <REGISTER>
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_msg: uri: <sip:10.10.10.1>
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_msg: version: <SIP/2.0>
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: flags=2
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_via_param: found param type 235, <rport> = <n/a>; state=6
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_via_param: found param type 232, <branch> = <z9hG4bK0C47C5EB2E1247FEA747BFFB4FD915A8>; state=16
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_via: end of header reached, state=5
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: via found, flags=2
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: this is the first via
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:receive_msg: After parse_msg...
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:receive_msg: preparing to run routing scripts...
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: flags=100
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_to: end of header reached, state=10
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_to: display={1000}, ruri={sip:1000@10.10.10.1}
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:get_hdr_field: <To> [29]; uri=[sip:1000@10.10.10.1]
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:get_hdr_field: to body [1000 <sip:1000@10.10.10.1> ]
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:get_hdr_field: cseq <CSeq>: <52299> <REGISTER>
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:maxfwd:is_maxfwd_present: value = 70
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: flags=200
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:get_hdr_field: content_length=0
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:get_hdr_field: found end of header
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:rr:find_first_route: No Route headers found
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:rr:loose_route: There is no Route HF
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:auth:check_nonce: comparing [4a1fc2b000000001a3e397db4e141e53da30ad0696760da3] and [4a1fc2b000000001a3e397db4e141e53da30ad0696760da3]
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_new_result: allocate 48 bytes for result set at 0x67d960
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:db_mysql:db_mysql_get_columns: 1 columns returned from the query
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_allocate_columns: allocate 8 bytes for result names at 0x67da90
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_allocate_columns: allocate 4 bytes for result types at 0x67daa8
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:db_mysql:db_mysql_get_columns: allocate 16 bytes for RES_NAMES[0] at 0x67dac0
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:db_mysql:db_mysql_get_columns: RES_NAMES(0x67dac0)[0]=[password]
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:db_mysql:db_mysql_get_columns: use DB_STRING result type
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:db_mysql:db_mysql_convert_rows: allocate 16 bytes for rows at 0x67dae0
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:db_mysql:db_mysql_convert_row: allocate 32 bytes for row values at 0x67db00
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:db_mysql:db_mysql_str2val: converting STRING [1234]
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:auth_db:get_ha1: HA1 string calculated: 90c30e48e987fd2d0ae77d90094407a5
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:auth:check_response: our result = 'd5513fb342bbfd2d4090a9ebcc4038fe'
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:auth:check_response: authorization is OK
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:auth:post_auth: nonce index= 1
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_free_columns: freeing 1 columns
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_free_columns: freeing RES_NAMES[0] at 0x67dac0
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_free_columns: freeing result names at 0x67da90
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_free_columns: freeing result types at 0x67daa8
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_free_rows: freeing 1 rows
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_free_row: freeing row values at 0x67db00
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_free_rows: freeing rows at 0x67dae0
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:db_free_result: freeing result set at 0x67d960
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:uri_db:check_username: Digest username and URI username match
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: flags=ffffffffffffffff
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: flags=8000000
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:parse_headers: flags=ffffffffffffffff
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:check_via_address: params 10.10.10.2, 10.10.10.2, 0
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:destroy_avp_list: destroying list (nil)
May 29 14:05:40 cacofonix /sbin/kamailio[7887]: DBG:core:receive_msg: cleaning up
May 29 14:05:44 cacofonix /sbin/kamailio[7885]: DBG:core:udp_rcv_loop: probing packet received from 10.10.10.3 50195
####### Global Parameters #########
debug=5
log_stderror=no
log_facility=LOG_LOCAL0
fork=yes
children=4
/* uncomment the following lines to enable debugging */
#debug=6
#fork=no
#log_stderror=yes
/* uncomment the next line to disable TCP (default on) */
#disable_tcp=yes
/* uncomment the next line to enable the auto temporary blacklisting of
not available destinations (default disabled) */
#disable_dns_blacklist=no
/* uncomment the next line to enable IPv6 lookup after IPv4 dns
lookup failures (default disabled) */
#dns_try_ipv6=yes
/* uncomment the next line to disable the auto discovery of local aliases
based on revers DNS on IPs (default on) */
#auto_aliases=no
/* uncomment the following lines to enable TLS support (default off) */
#disable_tls = no
#listen = tls:your_IP:5061
#tls_verify_server = 1
#tls_verify_client = 1
#tls_require_client_certificate = 0
#tls_method = TLSv1
#tls_certificate = "//etc/kamailio/tls/user/user-cert.pem"
#tls_private_key = "//etc/kamailio/tls/user/user-privkey.pem"
#tls_ca_list = "//etc/kamailio/tls/user/user-calist.pem"
port=5060
/* uncomment and configure the following line if you want Kamailio to
bind on a specific interface/port/proto (default bind on all available) */
#listen=udp:192.168.1.2:5060
####### Modules Section ########
#set module path
mpath="//lib64/kamailio/modules/"
/* uncomment next line for MySQL DB support */
loadmodule "db_mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
loadmodule "uri_db.so"
loadmodule "uri.so"
loadmodule "xlog.so"
loadmodule "permissions.so"
loadmodule "group.so"
loadmodule "lcr.so"
loadmodule "acc.so"
/* uncomment next lines for MySQL based authentication support
NOTE: a DB (like db_mysql) module must be also loaded */
loadmodule "auth.so"
loadmodule "auth_db.so"
/* uncomment next line for aliases support
NOTE: a DB (like db_mysql) module must be also loaded */
loadmodule "alias_db.so"
/* uncomment next line for multi-domain support
NOTE: a DB (like db_mysql) module must be also loaded
NOTE: be sure and enable multi-domain support in all used modules
(see "multi-module params" section ) */
loadmodule "domain.so"
/* uncomment the next two lines for presence server support
NOTE: a DB (like db_mysql) module must be also loaded */
#loadmodule "presence.so"
#loadmodule "presence_xml.so"
# ----------------- setting module-specific parameters ---------------
# ----- mi_fifo params -----
modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")
# ----- rr params -----
# add value to ;lr param to cope with most of the UAs
modparam("rr", "enable_full_lr", 1)
# do not append from tag to the RR (no need for this script)
modparam("rr", "append_fromtag", 0)
# ----- rr params -----
modparam("registrar", "method_filtering", 1)
/* uncomment the next line to disable parallel forking via location */
# modparam("registrar", "append_branches", 0)
/* uncomment the next line not to allow more than 10 contacts per AOR */
#modparam("registrar", "max_contacts", 10)
# ----- uri_db params -----
/* by default we disable the DB support in the module as we do not need it
in this configuration */
modparam("uri_db", "use_uri_table", 0)
modparam("uri_db", "db_url", "")
# ----- acc params -----
/* what sepcial events should be accounted ? */
modparam("acc", "early_media", 1)
modparam("acc", "report_ack", 1)
modparam("acc", "report_cancels", 1)
/* by default ww do not adjust the direct of the sequential requests.
if you enable this parameter, be sure the enable "append_fromtag"
in "rr" module */
modparam("acc", "detect_direction", 0)
/* account triggers (flags) */
modparam("acc", "failed_transaction_flag", 3)
modparam("acc", "log_flag", 1)
modparam("acc", "log_missed_flag", 2)
/* uncomment the following lines to enable DB accounting also */
modparam("acc", "db_flag", 1)
modparam("acc", "db_missed_flag", 2)
# ----- usrloc params -----
modparam("usrloc", "db_mode", 0)
/* uncomment the following lines if you want to enable DB persistency
for location entries */
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "db_url",
"mysql://openser:openserrw@localhost/openser")
#---------------permissions params -------------
modparam("permissions","db_url",
"mysql://openser:openserrw@localhost/openser")
modparam("permissions", "address_table", "address")
modparam("permissions", "grp_col", "grp")
modparam("permissions", "ip_addr_col", "ip_addr")
modparam("permissions", "mask_col", "mask")
modparam("permissions", "port_col", "port")
modparam("permissions", "db_mode", 1)
modparam("permissions", "trusted_table", "trusted")
modparam("permissions", "source_col", "src_ip")
modparam("permissions", "proto_col", "proto")
modparam("permissions", "from_col", "from_pattern")
modparam("permissions", "tag_col", "tag")
modparam("permissions", "peer_tag_avp", "$avp(i:707)")
# ----- auth_db params -----
/* uncomment the following lines if you want to enable the DB based
authentication */
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "db_url",
"mysql://openser:openserrw@localhost/openser")
modparam("auth_db", "load_credentials", "")
# ----- alias_db params -----
/* uncomment the following lines if you want to enable the DB based
aliases */
modparam("alias_db", "db_url",
"mysql://openser:openserrw@localhost/openser")
# ----- domain params -----
/* uncomment the following lines to enable multi-domain detection
support */
modparam("domain", "db_url",
"mysql://openser:openserrw@localhost/openser")
modparam("domain", "db_mode", 1) # Use caching
# ----- multi-module params -----
/* uncomment the following line if you want to enable multi-domain support
in the modules (dafault off) */
#modparam("alias_db|auth_db|usrloc|uri_db", "use_domain", 1)
# ----- presence params -----
/* uncomment the following lines if you want to enable presence */
#modparam("presence|presence_xml", "db_url",
# "mysql://openser:openserrw@localhost/openser")
#modparam("presence_xml", "force_active", 1)
#modparam("presence", "server_address", "sip:192.168.1.2:5060")
#--------- LCR params -----------
modparam("lcr","db_url","mysql://openser:openserrw@localhost/openser")
modparam("lcr","gw_table","gw")
modparam("lcr","gw_name_column","gw_name")
modparam("lcr","grp_id_column","grp_id")
modparam("lcr","ip_addr_column","ip_addr")
modparam("lcr","port_column","port")
modparam("lcr","uri_scheme_column","uri_scheme")
modparam("lcr","transport_column","transport")
modparam("lcr","strip_column","strip")
modparam("lcr","tag_column","tag")
modparam("lcr","flags_column","flags")
modparam("lcr","lcr_table","lcr")
modparam("lcr","prefix_column","prefix")
modparam("lcr","from_uri_column","from_uri")
modparam("lcr","priority_column","priority")
modparam("lcr", "contact_avp", "$avp(i:711)")
modparam("lcr|tm", "fr_inv_timer_avp", "$avp(i:704)")
modparam("lcr", "gw_uri_avp", "$avp(i:709)")
modparam("^auth$|lcr", "rpid_avp", "$avp(i:302)")
modparam("lcr", "ruri_user_avp", "$avp(i:500)")
modparam("lcr","fr_inv_timer",90)
modparam("lcr","fr_inv_timer_next",30)
modparam("lcr", "flags_avp", "$avp(i:712)")
modparam("lcr", "prefix_mode", 1)
#-------------- group params ---------------
modparam("group", "db_url", "mysql://openser:openserrw@localhost/openser")
modparam("group", "table", "grp")
modparam("group", "user_column", "username")
modparam("group", "domain_column", "domain")
modparam("group", "group_column", "grp")
modparam("group", "use_domain", 0)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
if (!method=="REGISTER")
record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
#CANCEL processing
if (is_method("CANCEL")) {
if (t_check_trans()) t_relay();
exit;
}
if (method=="REGISTER") {
route(2);
} else {
route(3);
};
}
route[1] {
# send it out now; use stateful forwarding as it works
# reliably even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
exit;
}
route[2] {
#
# -- Register request handler --
#
if (is_uri_host_local()) {
if (!www_authorize("", "subscriber")) {
www_challenge("", "1");
exit;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
exit;
};
save("location");
exit;
} else if {
sl_send_reply("401", "Unauthorized");
};
}
route[3] {
#
# -- non-register requests handler --
#
# Verify the source (FROM)
if (is_from_local()){
# From an internal domain -> check the credentials and the FROM
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","1");
exit;
} else if (!check_from()) {
sl_send_reply("403", "Forbidden, use From=ID");
exit;
};
consume_credentials();
# Verify aliases
lookup("aliases");
# Verify the destination (URI)
if (is_uri_host_local()) {
# -- Inbound to Inbound
route(10);
} else {
# -- Inbound to outbound
route(11);
};
} else {
#Verify aliases, if found replace R-URI.
lookup("aliases");
# Verify the destination (URI)
if (is_uri_host_local()) {
#-- Outbound to inbound
route(12);
} else {
# -- Outbound to outbound
route(13);
};
};
}
route[4] {
# routing to the public network
if (!load_gws()) {
sl_send_reply("503", "Unable to load gateways");
exit;
}
if(!next_gw()){
sl_send_reply("503", "Unable to find a gateway");
exit;
}
route(1);
exit;
}
route[10] {
append_hf("P-hint: inbound->inbound \r\n");
if (uri=~"^sip:[0-9]*@") {
if (is_user_in("credentials","outgoing")) {
route(4);
exit;
} else {
sl_send_reply("403", "No permissions for outgoing calls");
exit;
};
};
#Native SIP destinations are handled using the location table
append_hf("P-hint: inbound->inbound \r\n");
if (!lookup("location")) {
sl_send_reply("404", "Not Found this is where the outgoing call fails");
exit;
};
route(1);
}
route[11] {
# from an internal domain -> outbound
# Simply route the call outbound using DNS search
append_hf("P-hint: inbound->outbound \r\n");
route(1);
}
route[12] {
# From an external domain -> inbound
# Verify aliases, if found replace R-URI.
lookup("aliases");
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
route(1);
}
route[13] {
#From an external domain outbound
#we are not accepting these calls
sl_send_reply("403", "Forbidden");
exit;
}
failure_route[1] {
if(!next_gw()) {
t_reply("503", "Service not available, no more gateways");
exit;
}
t_on_failure("1");
t_relay();
}
................
U 10.10.10.2:5060 -> 10.10.10.1:5060
INVITE sip:2109558353@10.10.10.1 SIP/2.0.
Via: SIP/2.0/UDP 10.10.10.2:5060;rport;branch=z9hG4bK9A6FB317EAAA49239A329B7EED195972.
From: 1000 <sip:1000@10.10.10.1>;tag=2003109495.
To: <sip:2109558353@10.10.10.1>.
Contact: <sip:1000@10.10.10.2:5060>.
Call-ID: A51A866B-8E4A-463F-BAB5-9689225763BC(a)10.10.10.2.
CSeq: 35975 INVITE.
Max-Forwards: 70.
Content-Type: application/sdp.
User-Agent: X-PRO build 1082.
Content-Length: 200.
.
v=0.
o=1000 333892515 333892515 IN IP4 10.10.10.2.
s=X-PRO.
c=IN IP4 10.10.10.2.
t=0 0.
m=audio 8000 RTP/AVP 18 101.
a=rtpmap:18 G729/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
U 10.10.10.1:5060 -> 10.10.10.2:5060
SIP/2.0 407 Proxy Authentication Required.
Via: SIP/2.0/UDP 10.10.10.2:5060;rport=5060;branch=z9hG4bK9A6FB317EAAA49239A329B7EED195972.
From: 1000 <sip:1000@10.10.10.1>;tag=2003109495.
To: <sip:2109558353@10.10.10.1>;tag=f8f2ab2c1295e90ed7dbb499b30f44b2.6e0d.
Call-ID: A51A866B-8E4A-463F-BAB5-9689225763BC(a)10.10.10.2.
CSeq: 35975 INVITE.
Proxy-Authenticate: Digest realm="10.10.10.1", nonce="4a1fc1fd0000000202d4f6f3c38c36ea4e9c7cf0e0e56c6f", qop="auth".
Server: Kamailio (1.4.1-notls (x86_64/linux)).
Content-Length: 0.
.
U 10.10.10.2:5060 -> 10.10.10.1:5060
ACK sip:2109558353@10.10.10.1 SIP/2.0.
Via: SIP/2.0/UDP 10.10.10.2:5060;rport;branch=z9hG4bK9A6FB317EAAA49239A329B7EED195972.
From: 1000 <sip:1000@10.10.10.1>;tag=2003109495.
To: <sip:2109558353@10.10.10.1>;tag=f8f2ab2c1295e90ed7dbb499b30f44b2.6e0d.
Contact: <sip:1000@10.10.10.2:5060>.
Call-ID: A51A866B-8E4A-463F-BAB5-9689225763BC(a)10.10.10.2.
CSeq: 35975 ACK.
Max-Forwards: 70.
Content-Length: 0.
.
U 10.10.10.2:5060 -> 10.10.10.1:5060
INVITE sip:2109558353@10.10.10.1 SIP/2.0.
Via: SIP/2.0/UDP 10.10.10.2:5060;rport;branch=z9hG4bK5E772D41ECAE40B1BCAD721D20050C3C.
From: 1000 <sip:1000@10.10.10.1>;tag=2003109495.
To: <sip:2109558353@10.10.10.1>.
Contact: <sip:1000@10.10.10.2:5060>.
Call-ID: A51A866B-8E4A-463F-BAB5-9689225763BC(a)10.10.10.2.
CSeq: 35976 INVITE.
Proxy-Authorization: Digest username="1000",realm="10.10.10.1",nonce="4a1fc1fd0000000202d4f6f3c38c36ea4e9c7cf0e0e56c6f",response="d
e87516ac763a1a2d81f8dfe15fea346",uri="sip:2109558353@10.10.10.1",qop=auth,cnonce="98BAD5C268804AE49A8C47628C1416C3",nc="0000032c".
Max-Forwards: 70.
Content-Type: application/sdp.
User-Agent: X-PRO build 1082.
Content-Length: 200.
.
v=0.
o=1000 333892515 333892515 IN IP4 10.10.10.2.
s=X-PRO.
c=IN IP4 10.10.10.2.
t=0 0.
m=audio 8000 RTP/AVP 18 101.
a=rtpmap:18 G729/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
U 10.10.10.1:5060 -> 10.10.10.2:5060
SIP/2.0 404 Not Found.
Via: SIP/2.0/UDP 10.10.10.2:5060;rport=5060;branch=z9hG4bK5E772D41ECAE40B1BCAD721D20050C3C.
From: 1000 <sip:1000@10.10.10.1>;tag=2003109495.
To: <sip:2109558353@10.10.10.1>;tag=f8f2ab2c1295e90ed7dbb499b30f44b2.6141.
Call-ID: A51A866B-8E4A-463F-BAB5-9689225763BC(a)10.10.10.2.
CSeq: 35976 INVITE.
Server: Kamailio (1.4.1-notls (x86_64/linux)).
Content-Length: 0.
.
U 10.10.10.2:5060 -> 10.10.10.1:5060
ACK sip:2109558353@10.10.10.1 SIP/2.0.
Via: SIP/2.0/UDP 10.10.10.2:5060;rport;branch=z9hG4bK5E772D41ECAE40B1BCAD721D20050C3C.
From: 1000 <sip:1000@10.10.10.1>;tag=2003109495.
To: <sip:2109558353@10.10.10.1>;tag=f8f2ab2c1295e90ed7dbb499b30f44b2.6141.
Contact: <sip:1000@10.10.10.2:5060>.
Call-ID: A51A866B-8E4A-463F-BAB5-9689225763BC(a)10.10.10.2.
CSeq: 35976 ACK.
Max-Forwards: 70.
Content-Length: 0.
.
U 10.10.10.2:5060 -> 10.10.10.1:5060
.
................
Hi, I'm experimenting this real case very often:
- Kamailio invokes "force_rtproxy()" for an INVITE and sets a
flag(USE_RTPPROXY).
- A CANCEL arrives (so I invoke "unforce_rtpproxy()").
- Inmediatelly a 183 arrives from downstream (before the UAS receives
the CANCEL generated by Kamailio).
- flag(USE_RTPPROXY) is set so I invoke "force_rtpproxy()" for the 183
response, and obviously I get this error from RtpProxy module (since the
RtpProxy session was ended upon recepit of the CANCEL):
ERROR:nathelper:force_rtp_proxy: incorrect port 0 in reply from rtp proxy
Yes, nothing wrong happens, but I would like to avoid this error in the logs.
Unfortunatelly when processing the incoming CANCEL kamailio cannot unset a
flag in the related INVITE transaction, so I cannot do
"resetflag(USE_RTPPROXY)" when receiving the CANCEL (it's not useful at all).
So I cannot guess any way to do it, suggestions?
Thanks a lot.
--
Iñaki Baz Castillo <ibc(a)aliax.net>
Hello,
I am looking for : how to work with vars ?
I need to do var(a)=var(a)+1
How to?
Thank you
Cordialement,
BERGANZ François
cid:image001.gif@01C8F7CD.6BC1D2C0
<http://www.acropolistelecom.net/> http://www.acropolistelecom.net
P Pensez à l'Environnement, n'imprimez ce mail que si nécessaire.
Hello,
I need to set listen=0.0.0.0 in kamailio (because it's very important
for me to add new IPs to my server without restarting kamailio), but I
see that the Via header remains 0.0.0.0 in this case.
So I added:
advertised_address="my_ip_address"
advertised_port=5060
Then I see that for normal calls the Via is set correclty but the
problem still appears in nathelper. The OPTIONS sent by nathelper
still uses 0.0.0.0 in the Via header. I tried:
modparam("nathelper", "natping_socket", "my_ip_address:5060")
modparam("nathelper", "force_socket", "my_ip_address:5060")
but Via is still 0.0.0.0
Does anybody know what to do?
Hello,
for xVIM fans, here is attached a syntax file for SIP Router config
file. It is refurbished from an old openser syntax file, updated with
latest config language rules.
It is still missing the 'select' definition, I had no time to search for
the regexp that matches its format, maybe a ser developer can give it
quicker. Of course, it can take other improvement, please feel free to
contribute. If there are many users, we can keep it inside the source
tree, somewhere in the scripts dir.
Probably most of you know, but for newbees:
- place the ser.vim in your home directory under ".vim/syntax/"
- when you edit the config file with vim, run "setf ser"
You can add rules in vim config to auto-detect -- see google for that --
skipping in this way setf command each time you edit a config.
Hope some of you enjoy it,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com/
" -*- vim -*-
" FILE: ser.vim
" LAST MODIFICATION: 2009-05-28 18:30
" (C) Copyright 2008 Stanisław Pitucha <viraptor(a)gmail.com>
" (C) Copyright 2009 Daniel-Constantin Mierla <miconda(a)gmail.com>
" Version: 1.01
" USAGE:
"
" Save this file to $VIMFILES/syntax/ser.vim. Either add a detection
" script to filetypes.vim, or set filetype manually to "ser" when
" editing SIP Router configuration file with 'setf ser'.
"
" List of keyword and core functions taken from latest dev version of
" SIP Router. Module functions not included.
"
" Tested only on vim 7.1
"
" Example: "setf ser"
"
" REQUIREMENTS:
" vim (>= 7)
if exists("b:current_syntax")
finish
endif
syn match serConfigParamLine '^[^=]\+=.*$' contains=serCoreParameter,serString,serConfigConstant,serSpecial,serNumber,serCppComment,serHashComment
syn region serConfigModparam start='^\s*modparam\s*(' end=')' contains=serString,serNumber
syn match serConfigModule '^\s*loadmodule\s*"[^"]\+"' contains=serString
syn keyword serTodo TODO FIXME XXX contained
syn match serOperator '!\|&&\|||\|=[~=]\?\|>\|<\|+\|-\|/\|\*\||\|&\|^\|\~\|defined\|eq\|ieq\|ne\|ine' display contained
syn region serCppComment start='/\*' end='\*/' contains=serTodo
syn match serHashComment '#.*$' contains=serTodo
syn match serStringEscape '\\.' contained
syn match serNumber '[0-9]\+' contained
syn region serString matchgroup=Normal start='"' skip='\\"' end='"' contained contains=serVariable,serStringEscape
syn match serVariable "$[a-zA-Z_][a-zA-Z0-9_]*\(([^)]\+)\)\?" contained
syn match serIdentifier '[a-zA-Z_][a-zA-Z0-9_]*' contained
syn keyword serStatement route if else switch case default break exit return drop while contained
syn keyword serSpecial yes no on off true false enabled disabled contained
syn keyword serCoreKeyword af dst_ip dst_port from_uri method msg:len proto status snd_af snd_ip snd_port snd_proto src_ip src_port to_af to_ip to_port to_proto to_uri uri uri:host uri:port contained
syn keyword serCoreValue udp UDP tcp TCP tls TLS sctp SCTP inet INET inet6 INET6 sslv23 SSLv23 SSLV23 sslv2 SSLv2 SSLV2 sslv3 SSLv3 SSLV3 tlsv1 TLSv1 TLSV1 max_len myself contained
syn keyword serCoreFunction forward forward_tcp forward_udp forward_tls forward_sctp send send_tcp log error exec force_rport add_rport force_tcp_alias add_tcp_alias udp_mtu udp_mtu_try_proto setflag resetflag isflagset flags bool setavpflag resetavpflag isavpflagset avpflags rewritehost sethost seth rewritehostport sethostport sethp rewritehostporttrans sethostporttrans sethpt rewriteuser setuser setu rewriteuserpass setuserpass setup rewriteport setport setp rewriteuri seturi revert_uri prefix strip strip_tail userphone append_branch set_advertised_address set_advertised_port force_send_socket contained
syn keyword serCoreParameter debug fork log_stderror log_facility listen alias auto_aliases dns rev_dns dns_try_ipv6 dns_try_naptr dns_srv_lb dns_srv_loadbalancing dns_udp_pref dns_udp_preference dns_tcp_pref dns_tcp_preference dns_tls_pref dns_tls_preference dns_sctp_pref dns_sctp_preference dns_retr_time dns_retr_no dns_servers_no dns_use_search_list dns_search_full_match dns_cache_init use_dns_cache use_dns_failover dns_cache_flags dns_cache_negative_ttl dns_cache_min_ttl dns_cache_max_ttl dns_cache_mem dns_cache_gc_interval dns_cache_del_nonexp dns_cache_delete_nonexpired dst_blacklist_init use_dst_blacklist dst_blacklist_mem dst_blacklist_expire dst_blacklist_ttl dst_blacklist_gc_interval port statistics maxbuffer children check_via phone2tel syn_branch memlog mem_log memdbg mem_dbg sip_warning server_signature reply_to_via user uid group gid chroot workdir wdir mhomed disable_tcp tcp_children tcp_accept_aliases tcp_send_timeout tcp_connect_timeout tcp_connection_lifetime tcp_poll_method tcp_max_connections tcp_no_connect tcp_source_ipv4 tcp_source_ipv6 tcp_fd_cache tcp_buf_write tcp_async tcp_conn_wq_max tcp_wq_max tcp_rd_buf_size tcp_wq_blk_size tcp_defer_accept tcp_delayed_ack tcp_syncnt tcp_linger2 tcp_keepalive tcp_keepidle tcp_keepintvl tcp_keepcnt tcp_crlf_ping disable_tls tls_disable enable_tls tls_enable tlslog tls_log tls_port_no tls_method tls_verify tls_require_certificate tls_certificate tls_private_key tls_ca_list tls_handshake_timeout tls_send_timeout disable_sctp enable_sctp sctp_children sctp_socket_rcvbuf sctp_socket_receive_buffer sctp_socket_sndbuf sctp_socket_send_buffer sctp_autoclose sctp_send_ttl sctp_send_retries advertised_address advertised_port disable_core_dump open_files_limit shm_force_alloc mlock_pages real_time rt_prio rt_policy rt_timer1_prio rt_fast_timer_prio rt_ftimer_prio rt_timer1_policy rt_ftimer_policy rt_timer2_prio rt_stimer_prio rt_timer2_policy rt_stimer_policy mcast_loopback mcast_ttl tos pmtu_discovery exit_timeout ser_kill_timeout max_while_loops stun_refresh_interval stun_allow_stun stun_allow_fp server_id description descr desc loadpath mpath contained
syn region serBlock start='{' end='}' contained contains=serBlock,@serCodeElements
syn match serRouteBlock '\(failure_\|onreply_\|branch_\|event_\|onsend_\)\?route\(\s*\[[^\]]\+\]\)\?' contained contains=serNumber,serString,serIdentifier
syn region serRrouteBlockFold matchgroup=serRouteBlock start="\(failure_\|onreply_\|branch_\|event_\|onsend_\)\?route\(\s*\[[^\]]\+\]\)\?\s*\n\?{" matchgroup=NONE end="}" contains=serBlock,@serCodeElements
syn cluster serCodeElements contains=serCppComment,serHashComment,serNumber,serString,serVariable,serOperator,serStatement,serKeyword,serCoreKeyword,serCoreValue,serCoreFunction,serIdentifier
hi def link serCppComment Comment
hi def link serHashComment Comment
hi def link serTodo Todo
hi def link serConfigModparam Function
hi def link serConfigModule Keyword
hi def link serKeyword Keyword
hi def link serCoreKeyword Special
hi def link serCoreValue Special
hi def link serCoreFunction Function
hi def link serRouteBlock Type
hi def link serRrouteBlockFold Type
hi def link serIdentifier Identifier
hi def link serSpecial Special
hi def link serCoreParameter Keyword
hi def link serOperator Operator
hi def link serStatement Conditional
hi def link serNumber Number
hi def link serVariable Identifier
hi def link serString String
hi def link serStringEscape Special
let b:current_syntax = "ser"
hi
I am using..
Asterisk : 1.6.0.5
Kamailio : 1.5.0
Here, is network diagram ...
172.18.100.10/20/30 ============
192.168.1.68 ========================== 192.168.1.70
(SIP Phone Register on this
IP) (Kamailio
IP)
(Asterisk Server)
And here link for kamailio file
I have registered 111 and 222 user on asterisk (192.168.1.70)... and call to
kamailio user (1212(a)domain.com)... call established successfully.. but sip
phone is not hangup..
As well as i call from kamailio user like 1212 to 2121 ... call established
.. but sip phone not hangup..
Help me out....
Thanks in advance
--
Regards,
Chandrakant Solanki
> Hi,
> On 26 May 2009, at 22:18, CSB wrote:
> >>
> >> Perhaps you do not have the zope.interface module installed?
> >>
> >> I'm not sure which linux distribution you are using, but I'm
> guessing
> >> from the rpm command that it is some RedHat derivative. You can save
> >> yourself from these sort of dependency problem by using Debian and
> >> installing MediaProxy2 directly from our repository.
> >>
> > Unfortunately we have a number of servers all running CentOS so to
> > change is
> > not so easy. zope.interface looks like it's installed - see my other
> > post.
> >
> > Regards
> >
> > Cameron
>
> The traceback shows the problem is in twisted.names, so I would
> probably suspect there is something wrong with that version. I don't
> understand the version number you quote of that anyway, 0.3.0 seems to
> be very different from the rest. Please try to upgrade anything
> related to twisted to use the latest version and see if you still have
> problems.
>
I removed the python-twisted packages, installed Twisted from source and the
error no longer occurs. Thanks for the advice.
Now I just need to upgrade my EC2 kernel...
Cameron
Hi, Guys...
I use a 'switch' block to drive decisions after a failed 'lookup' (on
router-block). In theory all Ok, but....
In the body of this switch, if I use a 'break' inside an 'if' it gives
me error, saying that it's not allowed.
See below the code.
What am I doing wrong?
Edson.
========================================================
route[1] {
if (!lookup("location") {
switch ($retcode) {
case -1:
case -3:
if ('situation A') {
t_on_failure("1");
break;
} else {
if ('condition b') {
if ('condition b.1') {
t_on_failure("2");
break;
};
};
};
exit;
case -2:
sl_send_reply("500", "Internal lookup error");
exit;
}
}
if (!t_relay()) {
sl_reply_error();
}
exit;
}
Daniel,
We are testing kamailio in "edge proxy". Kamailio routes traffic in between SIPP clients and SIP registrar.
Here is a link to my test network layout.
http://luminepixels.com/tmp/kamailio_load_testing.jpg
We did not see many retransmissions with Registration load running alone. With Call load and registration together, only registration requests are being retransmitted. Call requests are not.
-Sid
-Sid
"May the light be with you." ______________________________________________
Siddhardha Garige
www.luminepixels.com
--- On Thu, 5/28/09, Daniel-Constantin Mierla <miconda(a)gmail.com> wrote:
From: Daniel-Constantin Mierla <miconda(a)gmail.com>
Subject: Re: [Kamailio-Users] Question regarding kamailio transaction processing.
To: users(a)lists.kamailio.org
Date: Thursday, May 28, 2009, 4:19 AM
Hello,
On 05/28/2009 01:12 AM, Iñaki Baz Castillo wrote:
> El Miércoles, 27 de Mayo de 2009, Siddhardha Garige escribió:
>
>> Here is our question. If number of transactions in kamailio memory
>> contributes to processing delay should not it affect both REGISTRATION and
>> CALL transactions equally? Why only REGISTRATION are getting affected while
>> calls are fine without any retransmissions.
>>
>
> Registration involves storage in memory and/or database, also a lookup in
> memory or database to retrieve all the contacts registered for that AoR. Could
> it be the reason?
>
what db_mode is used for usrloc module? Are you doing authentication?
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com/
_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users(a)lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/usershttp://lists.openser-project.org/cgi-bin/mailman/listinfo/users