_______________________________________________Dear List:I am still stuck. Still unable to get Kamailio to listen on WEBRTC port (in this case 8000)Please advise if it has something to do with disabling TLS/MSRP?Please see the log & related config file in line here:Log:
0(5724) INFO: <core> [ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_WS_PORT!8000!gand the result of config file check:
root@callcntr:/usr/local/etc/kamailio# kamailio -eE -ddd -cf /usr/local/etc/kamailio/websocket.cfg
0(5902) INFO: <core> [main.c:1911]: main(): private (per process) memory: 8388608 bytes
0(5902) DEBUG: <core> [mem/f_malloc.c:323]: fm_malloc_init(): fm_malloc_init: F_OPTIMIZE=16384, /ROUNDTO=2048
0(5902) DEBUG: <core> [mem/f_malloc.c:325]: fm_malloc_init(): fm_malloc_init: F_HASH_SIZE=2099, fm_block size=33912
0(5902) DEBUG: <core> [mem/f_malloc.c:327]: fm_malloc_init(): fm_malloc_init(0x7f9ca6e1f010, 8388608), start=0x7f9ca6e1f010
0(5902) DEBUG: <core> [route.c:129]: route_add(): mapping routing block (0xac2700)[0] to 0
0(5902) DEBUG: <core> [route.c:129]: route_add(): mapping routing block (0xac2680)[0] to 0
0(5902) DEBUG: <core> [route.c:129]: route_add(): mapping routing block (0xac26c0)[0] to 0
0(5902) DEBUG: <core> [route.c:129]: route_add(): mapping routing block (0xac2720)[0] to 0
0(5902) DEBUG: <core> [route.c:129]: route_add(): mapping routing block (0xac26a0)[0] to 0
0(5902) DEBUG: <core> [route.c:129]: route_add(): mapping routing block (0xac26e0)[0] to 0
0(5902) DEBUG: <core> [pvapi.c:1976]: pv_init_buffer(): PV print buffer initialized to [10][8192]
0(5902) DEBUG: <core> [main.c:2097]: main(): read 286773155 from /dev/urandom
0(5902) DEBUG: <core> [main.c:2103]: main(): seeding PRNG with 1755363211
0(5902) DEBUG: <core> [main.c:2107]: main(): test random numbers 726213135 321707966 991183401
0(5902) DEBUG: <core> [re.c:313]: subst_parser(): ok, se is 0x7f9ca6e3fc48
0(5902) INFO: <core> [ppcfg.c:82]: pp_subst_add(): ### added subst expression: !DBURL!mysql://kamailio:kamailiorw@localhost/kamailio!g
0(5902) DEBUG: <core> [cfg.lex:1690]: pp_define(): defining id: DBURL
0(5902) DEBUG: <core> [cfg.lex:1776]: pp_define_set(): ### setting define ID [DBURL] value [mysql://kamailio:kamailiorw@localhost/kamailio]
0(5902) DEBUG: <core> [ppcfg.c:160]: pp_substdef_add(): ### added substdef: [DBURL]=[mysql://kamailio:kamailiorw@localhost/kamailio] (0)
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:313]: subst_parser(): ok, se is 0x7f9ca6e3ffe8
0(5902) INFO: <core> [ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_IP_ADDR!192.168.1.16!g
0(5902) DEBUG: <core> [cfg.lex:1690]: pp_define(): defining id: MY_IP_ADDR
0(5902) DEBUG: <core> [cfg.lex:1776]: pp_define_set(): ### setting define ID [MY_IP_ADDR] value [192.168.1.16]
0(5902) DEBUG: <core> [ppcfg.c:160]: pp_substdef_add(): ### added substdef: [MY_IP_ADDR]=[192.168.1.16] (0)
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:313]: subst_parser(): ok, se is 0x7f9ca6e40320
0(5902) INFO: <core> [ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_DOMAIN!callcntr.com.al!g
0(5902) DEBUG: <core> [cfg.lex:1690]: pp_define(): defining id: MY_DOMAIN
0(5902) DEBUG: <core> [cfg.lex:1776]: pp_define_set(): ### setting define ID [MY_DOMAIN] value [callcntr.com.al]
0(5902) DEBUG: <core> [ppcfg.c:160]: pp_substdef_add(): ### added substdef: [MY_DOMAIN]=[callcntr.com.al] (0)
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:313]: subst_parser(): ok, se is 0x7f9ca6e40658
0(5902) INFO: <core> [ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_WS_PORT!8000!g
0(5902) DEBUG: <core> [cfg.lex:1690]: pp_define(): defining id: MY_WS_PORT
0(5902) DEBUG: <core> [cfg.lex:1776]: pp_define_set(): ### setting define ID [MY_WS_PORT] value [8000]
0(5902) DEBUG: <core> [ppcfg.c:160]: pp_substdef_add(): ### added substdef: [MY_WS_PORT]=[8000] (0)
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:313]: subst_parser(): ok, se is 0x7f9ca6e40988
0(5902) INFO: <core> [ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_WSS_PORT!443!g
0(5902) DEBUG: <core> [cfg.lex:1690]: pp_define(): defining id: MY_WSS_PORT
0(5902) DEBUG: <core> [cfg.lex:1776]: pp_define_set(): ### setting define ID [MY_WSS_PORT] value [443]
0(5902) DEBUG: <core> [ppcfg.c:160]: pp_substdef_add(): ### added substdef: [MY_WSS_PORT]=[443] (0)
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:313]: subst_parser(): ok, se is 0x7f9ca6e40cb8
0(5902) INFO: <core> [ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_MSRP_PORT!9000!g
0(5902) DEBUG: <core> [cfg.lex:1690]: pp_define(): defining id: MY_MSRP_PORT
0(5902) DEBUG: <core> [cfg.lex:1776]: pp_define_set(): ### setting define ID [MY_MSRP_PORT] value [9000]
0(5902) DEBUG: <core> [ppcfg.c:160]: pp_substdef_add(): ### added substdef: [MY_MSRP_PORT]=[9000] (0)
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=0
0(5902) DEBUG: <core> [re.c:455]: subst_run(): matched (16, 10): [MY_IP_ADDR]
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [ppcfg.c:192]: pp_subst_run(): preprocess subst applied [#1] to [!MY_WS_ADDR!tcp:MY_IP_ADDR:MY_WS_PORT!g] - returning new string [!MY_WS_ADDR!tcp:192.168.1.16:MY_WS_PORT!g]
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=0
0(5902) DEBUG: <core> [re.c:455]: subst_run(): matched (29, 10): [MY_WS_PORT]
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [ppcfg.c:192]: pp_subst_run(): preprocess subst applied [#2] to [!MY_WS_ADDR!tcp:192.168.1.16:MY_WS_PORT!g] - returning new string [!MY_WS_ADDR!tcp:192.168.1.16:8000!g]
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:436]: subst_run(): running. r=1
0(5902) DEBUG: <core> [re.c:505]: subst_str(): no match
0(5902) DEBUG: <core> [re.c:313]: subst_parser(): ok, se is 0x7f9ca6e41118
0(5902) INFO: <core> [ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_WS_ADDR!tcp:192.168.1.16:8000!g
0(5902) DEBUG: <core> [cfg.lex:1690]: pp_define(): defining id: MY_WS_ADDR
0(5902) DEBUG: <core> [cfg.lex:1776]: pp_define_set(): ### setting define ID [MY_WS_ADDR] value [tcp:192.168.1.16:8000]
0(5902) DEBUG: <core> [ppcfg.c:160]: pp_substdef_add(): ### added substdef: [MY_WS_ADDR]=[tcp:192.168.1.16:8000] (0)
0(5902) DEBUG: <core> [cfg.lex:1690]: pp_define(): defining id: WITH_WEBSOCKETS
0(5902) DEBUG: <core> [cfg.lex:1795]: pp_define_get(): ### returning define ID [MY_IP_ADDR] value [192.168.1.16]
0(5902) DEBUG: <core> [cfg.lex:1795]: pp_define_get(): ### returning define ID [MY_IP_ADDR] value [192.168.1.16]
loading modules under config path: /usr/local/lib64/kamailio/modules/
0(5902) DEBUG: <core> [ppcfg.c:223]: pp_ifdef_level_check(): same number of pairing preprocessor directives #!IF[N]DEF - #!ENDIF
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): routing table 0:
0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d808> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "L_WARN" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e443b8> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "403" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:347]: print_action(): route( 0(5902) DEBUG: <core> [route_struct.c:452]: print_action(): "REQINIT" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:421]: print_action(): force_rport( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<0> 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e50ff0> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d808> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "L_ERR" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e443b8> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "400" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:347]: print_action(): route( 0(5902) DEBUG: <core> [route_struct.c:452]: print_action(): "WITHINDLG" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e42f78> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e43950> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:347]: print_action(): route( 0(5902) DEBUG: <core> [route_struct.c:452]: print_action(): "AUTH" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4c350> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:543]: print_action(): , type<22> 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e44968> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:347]: print_action(): route( 0(5902) DEBUG: <core> [route_struct.c:452]: print_action(): "REGISTRAR" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e443b8> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "484" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:347]: print_action(): route( 0(5902) DEBUG: <core> [route_struct.c:452]: print_action(): "LOCATION" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:347]: print_action(): route( 0(5902) DEBUG: <core> [route_struct.c:452]: print_action(): "RELAY" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): routing table 1:
0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e44460> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): routing table 2:
0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e443b8> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "483" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d7d0> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "Malformed SIP message from $si:$sp
" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4cdb0> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): routing table 3:
0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d808> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "L_ERR" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e443b8> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "400" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:347]: print_action(): route( 0(5902) DEBUG: <core> [route_struct.c:452]: print_action(): "RELAY" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e42f78> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e443b8> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "404" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): routing table 4:
0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e44460> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): routing table 5:
0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e42a70> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e44428> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "404" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:442]: print_action(): assign( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<21> 0(5902) DEBUG: <core> [route_struct.c:517]: print_action(): , type<22> 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e42a70> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:448]: print_action(): UNKNOWN( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:517]: print_action(): , type<24> 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): routing table 6:
0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4e8b8> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "$fd" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4e810> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e443b8> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "403" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): onreply routing table 0:
0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d808> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "L_WARN" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 0 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 9 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e50e68> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 0 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): event routing table 1:
0(5902) DEBUG: <core> [route_struct.c:448]: print_action(): UNKNOWN( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<0> 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:448]: print_action(): UNKNOWN( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<0> 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d808> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "L_WARN" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e50660> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 4 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "403" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d808> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "L_DBG" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d808> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "L_WARN" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e50660> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 4 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "403" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:401]: print_action(): if ( 0(5902) DEBUG: <core> [route_struct.c:483]: print_action(): type<22> 0(5902) DEBUG: <core> [route_struct.c:485]: print_action(): ) { 0(5902) DEBUG: <core> [route_struct.c:338]: print_action(): drop( 0(5902) DEBUG: <core> [route_struct.c:455]: print_action(): 1 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 1 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:519]: print_action(): } else { 0(5902) DEBUG: <core> [route_struct.c:545]: print_action(): }; 0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e50660> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 4 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "404" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:2132]: print_rl(): event routing table 2:
0(5902) DEBUG: <core> [route_struct.c:418]: print_action(): external_module_call( 0(5902) DEBUG: <core> [route_struct.c:467]: print_action(): f_ptr<0x7f9ca6e4d808> 0(5902) DEBUG: <core> [route_struct.c:493]: print_action(): , 2 0(5902) DEBUG: <core> [route_struct.c:524]: print_action(): , "L_INFO" 0(5902) DEBUG: <core> [route_struct.c:546]: print_action(): ); 0(5902) DEBUG: <core> [route.c:2134]: print_rl():
0(5902) DEBUG: <core> [route.c:129]: route_add(): mapping routing block (0xac26e0)[core:receive-parse-error] to 3
0(5902) INFO: <core> [sctp_core.c:74]: sctp_core_check_support(): SCTP API not enabled - if you want to use it, load sctp module
Listening on
udp: 192.168.1.16:5060
tcp: 192.168.1.16:5060
Aliases:
tcp: callcntr:5060
udp: callcntr:5060
config file ok, exiting...
root@callcntr:/usr/local/etc/kamailio#Config File:
#!KAMAILIO
#
# Simple/sample kamailio.cfg for running a proxy/registrar with TLS and
# WebSockets support.
#!substdef "!DBURL!mysql://kamailio:kamailiorw@localhost/kamailio!g"
#!substdef "!MY_IP_ADDR!192.168.1.16!g"
#!substdef "!MY_DOMAIN!callcntr.com.al!g"
#!substdef "!MY_WS_PORT!8000!g"
#!substdef "!MY_WSS_PORT!443!g"
#!substdef "!MY_MSRP_PORT!9000!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"
##!substdef "!MY_MSRP_ADDR!tls:MY_IP_ADDR:MY_MSRP_PORT!g"
##!substdef "!MSRP_MIN_EXPIRES!1800!g"
##!substdef "!MSRP_MAX_EXPIRES!3600!g"
##!define LOCAL_TEST_RUN
##!define WITH_TLS
#!define WITH_WEBSOCKETS
##!define WITH_MSRP
####### Global Parameters #########
fork=yes
children=4
#!ifdef WITH_TLS
enable_tls=1
#!endif
listen=MY_IP_ADDR
#!ifdef WITH_WEBSOCKETS
listen=MY_IP_ADDR
#!ifdef WITH_TLS
#listen=MY_WSS_ADDR
#!endif
#!endif
#!ifdef WITH_MSRP
listen=MY_MSRP_ADDR
#!endif
tcp_connection_lifetime=3604
tcp_accept_no_cl=yes
tcp_rd_buf_size=16384
#!ifdef LOCAL_TEST_RUN
debug=2
mpath="modules"
#!else
debug=0
mpath="/usr/local/lib64/kamailio/modules/"
#!endif
loadmodule "db_mysql.so"
loadmodule "tm.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 "auth.so"
loadmodule "auth_db.so"
loadmodule "kex.so"
loadmodule "mi_rpc.so"
loadmodule "corex.so"
#!ifdef WITH_TLS
loadmodule "tls.so"
#!endif
#!ifdef WITH_MSRP
loadmodule "msrp.so"
loadmodule "htable.so"
loadmodule "cfgutils.so"
#!endif
#!ifdef WITH_WEBSOCKETS
loadmodule "xhttp.so"
loadmodule "websocket.so"
loadmodule "nathelper.so"
#!endif
#!ifdef WITH_WEBSOCKETS
# ----- nathelper params -----
modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
# Note: leaving NAT pings turned off here as nathelper is _only_ being used for
# WebSocket connections. NAT pings are not needed as WebSockets have
# their own keep-alives.
#!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 {
if (($Rp == MY_WS_PORT)) {#### I deleted/ modified this logical expression ####
xlog("L_WARN", "SIP request received on $Rp\n");
sl_send_reply("403", "Forbidden");
exit;
}
# 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.
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
# handle requests within SIP dialogs
route(WITHINDLG);
### only initial requests (no To tag)
# CANCEL processing
if (is_method("CANCEL")) {
if (t_check_trans()) {
t_relay();
}
exit;
}
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")) {
record_route();
}
# handle registrations
route(REGISTRAR);
if ($rU==$null) {
# request with no Username in RURI
sl_send_reply("484", "Address Incomplete");
exit;
}
# user location service
route(LOCATION);
route(RELAY);
}
route[RELAY] {
if (!t_relay()) {
sl_reply_error();
}
exit;
}
# Per SIP request initial checks
route[REQINIT] {
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;
}
if (uri == myself && is_method("OPTIONS") && !(uri=~"sip:.*[@]+.*")) {
options_reply();
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
if ($du == "") {
if (!handle_ruri_alias()) {
xlog("L_ERR", "Bad alias <$ru>\n");
sl_send_reply("400", "Bad Request");
exit;
}
}
#!endif
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
t_relay();
exit;
} else {
# ACK without matching transaction...
# ignore and discard
exit;
}
}
sl_send_reply("404", "Not Found");
}
exit;
}
}
# Handle SIP registrations
route[REGISTRAR] {
if (is_method("REGISTER")) {
if (!save("location")) {
sl_reply_error();
}
exit;
}
}
# USER location service
route[LOCATION] {
if (!is_subscriber("$ru", "subscriber", "1")) {
t_newtran();
send_reply("404", "Not Found");
exit;
}
if (!lookup("location")) {
$var(rc) = $rc;
t_newtran();
switch ($var(rc)) {
case -1:
send_reply("480", "Temporarily Unavailable");
exit;
case -2:
send_reply("405", "Method Not Allowed");
exit;
case -3:
send_reply("500", "Server Internal Error");
exit;
}
}
}
# Authentication route
route[AUTH] {
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")) {
consume_credentials();
}
}
# if caller is not local subscriber, then check if it calls
# a local destination, otherwise deny, not an open relay here
if (from_uri!=myself && uri!=myself) {
sl_send_reply("403", "Forbidden");
exit;
}
}
#!ifdef WITH_WEBSOCKETS
onreply_route {
if ((($Rp == MY_WS_PORT)
&& !(proto == WS)) || $Rp == MY_MSRP_PORT) {
xlog("L_WARN", "SIP response received on $Rp\n");
drop;
}
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
#!ifdef WITH_MSRP
event_route[msrp:frame-in] {
msrp_reply_flags("1");
if ((($Rp == MY_WS_PORT || $Rp == MY_WSS_PORT)
&& !(proto == WS || proto == WSS)) && $Rp != MY_MSRP_PORT) {
xlog("L_WARN", "MSRP request received on $Rp\n");
msrp_reply("403", "Action-not-allowed");
exit;
}
if (msrp_is_reply()) {
msrp_relay();
} else if($msrp(method)=="AUTH") {
if($msrp(nexthops)>0) {
msrp_relay();
exit;
}
if (!www_authenticate("MY_DOMAIN", "subscriber",
"$msrp(method)")) {
if (auth_get_www_authenticate("MY_DOMAIN", "1",
"$var(wauth)")) {
msrp_reply("401", "Unauthorized",
"$var(wauth)");
} else {
msrp_reply("500", "Server Error");
}
exit;
}
if ($hdr(Expires) != $null) {
$var(expires) = (int) $hdr(Expires);
if ($var(expires) < MSRP_MIN_EXPIRES) {
msrp_reply("423", "Interval Out-of-Bounds",
"Min-Expires: MSRP_MIN_EXPIRES\r\n");
exit;
} else if ($var(expires) > MSRP_MAX_EXPIRES) {
msrp_reply("423", "Interval Out-of-Bounds",
"Max-Expires: MSRP_MAX_EXPIRES\r\n");
exit;
}
} else {
$var(expires) = MSRP_MAX_EXPIRES;
}
$var(cnt) = $var(cnt) + 1;
pv_printf("$var(sessid)", "s.$(pp).$(var(cnt)).$(RANDOM)");
$sht(msrp=>$var(sessid)::srcaddr) = $msrp(srcaddr);
$sht(msrp=>$var(sessid)::srcsock) = $msrp(srcsock);
$shtex(msrp=>$var(sessid)) = $var(expires) + 5;
# - Use-Path: the MSRP address for server + session id
$var(hdrs) = "Use-Path: msrps://MY_IP_ADDR:MY_MSRP_PORT/"
+ $var(sessid) + ";tcp\r\n"
+ "Expires: " + $var(expires) + "\r\n";
msrp_reply("200", "OK", "$var(hdrs)");
} else if ($msrp(method)=="SEND" || $msrp(method)=="REPORT") {
if ($msrp(nexthops)>1) {
if ($msrp(method)!="REPORT") {
msrp_reply("200", "OK");
}
msrp_relay();
exit;
}
$var(sessid) = $msrp(sessid);
if ($sht(msrp=>$var(sessid)::srcaddr) == $null) {
# one more hop, but we don't have address in htable
msrp_reply("481", "Session-does-not-exist");
exit;
} else if ($msrp(method)!="REPORT") {
msrp_reply("200", "OK");
}
msrp_relay_flags("1");
msrp_set_dst("$sht(msrp=>$var(sessid)::srcaddr)",
"$sht(msrp=>$var(sessid)::srcsock)");
msrp_relay();
} else {
msrp_reply("501", "Request-method-not-understood");
}
}
#!endifThanks a million!Zaka
One accurate measurement is worth more than a thousand expert opinions!
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users