I am attempting to have SER act as a local registration server, that forwards all registrations to another SIP Registrar/Proxy that routes calls to the PSTN or wherever they go. The second server also does the call accounting. The reason that the SER server forwards all registrations to the second server is in case incoming calls match a registered SER user that is logged on, make sure they get routed correctly.
I also need to make sure any BYEs and CANCELs get forwards to end calls in a timely manner.
Can someone take a few moments to tell me what I am doing wrong? Calls are being forwarded corrently if they are not to a local SER user, but if they go from the SER server back to another SER registered user, the client hangs at "Connecting" and the following debug is given in SER.
Please dont laugh at any major mistakes in my ser.cfg, I am not a newbie to VoIP, I seem to have problems following the routing logic.
Thanks, Doug
------------------------DEBUG-------------------- 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK214fafcc>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <507> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as752e9908 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc0ffbd8aaaee9500190201c84d4fda9bdaa0e" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <REGISTER> 0(23868) uri: sip:sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK214fafcc>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <507> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as752e9908 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc0ffc3a53257d4fed9fd8a9e0881b5b00271f" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <REGISTER> 0(23868) uri: sip:sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK214fafcc>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <507> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as752e9908 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc0ffde486c67b948657808050956bfa859771" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <REGISTER> 0(23868) uri: sip:sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK214fafcc>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <507> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as752e9908 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc0ffe11289b60442c539f3e789738cbc68539" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <REGISTER> 0(23868) uri: sip:sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK214fafcc>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <507> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as752e9908 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc0fff2bc50922ef2c2fadbcfd17f006f7f10f" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <REGISTER> 0(23868) uri: sip:sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK214fafcc>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <507> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as752e9908 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc1000098b27f1f85a5b9aa863f465b23c034f" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <NOTIFY> 0(23868) uri: sip:198.67.41.196 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) Found param type 232, <branch> = <z9hG4bK-a013c76b>; state=6 0(23868) Found param type 235, <rport> = <n/a>; state=17 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.187, 10.0.0.153, 0) 0(23868) src address different than via header->NAT detected 0(23868) force_rport and fix_nated_contact and setflag(5) 0(23868) parse_headers: flags=64 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [21]; uri=[sip:198.67.41.196] 0(23868) DEBUG: to body [sip:198.67.41.196 ] 0(23868) get_hdr_field: cseq <CSeq>: <44> <NOTIFY> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) parse_headers: flags=-1 0(23868) DEBUG : is_maxfwd_present: max_forward header already found! 0(23868) DEBUG: is_maxfwd_present: value = 70 0(23868) DEBUG: add_param: tag=9d074f5b40d37cfo0 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='198.67.41.196'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 13==13 && [198.67.41.196] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='198.67.41.196'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) USER UNKNOWN 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.187, 10.0.0.153, 0) 0(23868) DEBUG: t_addifnew: msg id=267 , global msg id=260 , T on entrance=0xffffffff 0(23868) parse_headers: flags=-1 0(23868) parse_headers: flags=60 0(23868) t_lookup_request: start searching: hash=4561, isACK=0 0(23868) DEBUG: RFC3261 transaction matching failed 0(23868) DEBUG: t_lookup_request: no transaction found 0(23868) DBG: callback type 2, id 3 entered 0(23868) parse_headers: flags=44 0(23868) DEBUG: t_check: msg id=267 global id=267 T start=0xb5765b58 0(23868) DEBUG: t_check: T alredy found! 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.187, 10.0.0.153, 0) 0(23868) WARNING:vqm_resize: resize(0) called 0(23868) DBG: callback type 7, id 1 entered 0(23868) DEBUG: cleanup_uacs: RETR/FR timers reset 0(23868) DEBUG: add_to_tail_of_timer[2]: 0xb5765ba0 0(23868) DEBUG: reply sent out. buf=0x80c7968: SIP/2.0 4..., shmem=0xb5768ce8: SIP/2.0 4 0(23868) DEBUG: t_reply: finished 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <INVITE> 0(23868) uri: sip:12523152553@sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) Found param type 235, <rport> = <n/a>; state=6 0(23868) Found param type 232, <branch> = <z9hG4bK5056EAE3E3B54181A1567665427F3236>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '12523152553' Not found in usrloc 0(23868) check_via_address(198.67.41.187, 10.0.0.2, 0) 0(23868) src address different than via header->NAT detected 0(23868) force_rport and fix_nated_contact and setflag(5) 0(23868) parse_headers: flags=64 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [35]; uri=[sip:12523152553@sip.simflex.net] 0(23868) DEBUG: to body [sip:12523152553@sip.simflex.net ] 0(23868) parse_headers: flags=-1 0(23868) get_hdr_field: cseq <CSeq>: <34703> <INVITE> 0(23868) DEBUG: get_hdr_body : content_length=248 0(23868) found end of header 0(23868) DEBUG : is_maxfwd_present: max_forward header already found! 0(23868) DEBUG: is_maxfwd_present: value = 70 0(23868) DEBUG: add_param: tag=2192119934 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) rwrite(): Rewriting Request-URI with 'sip:12523152553@198.67.41.187:5060' 0(23868) check_self - checking if host==us: 13==13 && [198.67.41.187] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) check_self: host != me 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 1(23870) DEBUG: timer routine:2,tl=0xb5765ba0 next=(nil) 1(23870) DEBUG: wait_handler : removing 0xb5765b58 from table 1(23870) DEBUG: delete transaction 0xb5765b58 1(23870) DEBUG: wait_handler : done 0(23868) SIP Request: 0(23868) method: <INVITE> 0(23868) uri: sip:12523152553@sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) Found param type 235, <rport> = <n/a>; state=6 0(23868) Found param type 232, <branch> = <z9hG4bK5056EAE3E3B54181A1567665427F3236>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '12523152553' Not found in usrloc 0(23868) check_via_address(198.67.41.187, 10.0.0.2, 0) 0(23868) src address different than via header->NAT detected 0(23868) force_rport and fix_nated_contact and setflag(5) 0(23868) parse_headers: flags=64 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [35]; uri=[sip:12523152553@sip.simflex.net] 0(23868) DEBUG: to body [sip:12523152553@sip.simflex.net ] 0(23868) parse_headers: flags=-1 0(23868) get_hdr_field: cseq <CSeq>: <34703> <INVITE> 0(23868) DEBUG: get_hdr_body : content_length=248 0(23868) found end of header 0(23868) DEBUG : is_maxfwd_present: max_forward header already found! 0(23868) DEBUG: is_maxfwd_present: value = 70 0(23868) DEBUG: add_param: tag=2192119934 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) rwrite(): Rewriting Request-URI with 'sip:12523152553@198.67.41.187:5060' 0(23868) check_self - checking if host==us: 13==13 && [198.67.41.187] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) check_self: host != me 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <INVITE> 0(23868) uri: sip:12523152553@sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) Found param type 235, <rport> = <n/a>; state=6 0(23868) Found param type 232, <branch> = <z9hG4bK5056EAE3E3B54181A1567665427F3236>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '12523152553' Not found in usrloc 0(23868) check_via_address(198.67.41.187, 10.0.0.2, 0) 0(23868) src address different than via header->NAT detected 0(23868) force_rport and fix_nated_contact and setflag(5) 0(23868) parse_headers: flags=64 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [35]; uri=[sip:12523152553@sip.simflex.net] 0(23868) DEBUG: to body [sip:12523152553@sip.simflex.net ] 0(23868) parse_headers: flags=-1 0(23868) get_hdr_field: cseq <CSeq>: <34703> <INVITE> 0(23868) DEBUG: get_hdr_body : content_length=248 0(23868) found end of header 0(23868) DEBUG : is_maxfwd_present: max_forward header already found! 0(23868) DEBUG: is_maxfwd_present: value = 70 0(23868) DEBUG: add_param: tag=2192119934 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) rwrite(): Rewriting Request-URI with 'sip:12523152553@198.67.41.187:5060' 0(23868) check_self - checking if host==us: 13==13 && [198.67.41.187] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) check_self: host != me 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <REGISTER> 0(23868) uri: sip:sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK04a05d3f>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <508> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as749a5cd0 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc100f43518965318441d97390c7409e111c92" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <REGISTER> 0(23868) uri: sip:sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK04a05d3f>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <508> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as749a5cd0 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc101064bee064aecb87e2007409b402b3c13d" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up 0(23868) SIP Request: 0(23868) method: <REGISTER> 0(23868) uri: sip:sip.simflex.net 0(23868) version: <SIP/2.0> 0(23868) parse_headers: flags=1 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=1 0(23868) parse_headers: this is the first via 0(23868) After parse_msg... 0(23868) preparing to run routing scripts... 0(23868) lookup(): '' Not found in usrloc 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG : is_maxfwd_present: searching for max_forwards header 0(23868) parse_headers: flags=128 0(23868) Found param type 232, <branch> = <z9hG4bK04a05d3f>; state=16 0(23868) end of header reached, state=5 0(23868) parse_headers: Via found, flags=128 0(23868) parse_headers: this is the second via 0(23868) end of header reached, state=9 0(23868) DEBUG: get_hdr_field: <To> [27]; uri=[sip:19990@198.67.41.194] 0(23868) DEBUG: to body [sip:19990@198.67.41.194 ] 0(23868) get_hdr_field: cseq <CSeq>: <508> <REGISTER> 0(23868) DEBUG: get_hdr_body : content_length=0 0(23868) found end of header 0(23868) DEBUG: is_maxfwd_present: max_forwards header not found! 0(23868) DEBUG: add_param: tag=as749a5cd0 0(23868) end of header reached, state=29 0(23868) parse_headers: flags=256 0(23868) find_first_route(): No Route headers found 0(23868) loose_route(): There is no Route HF 0(23868) lookup(): '' Not found in usrloc 0(23868) query="select username from subscriber where username='' AND domain='sip.simflex.net'" 0(23868) does_uri_exit(): User in request uri does not exist 0(23868) check_self - checking if host==us: 15==13 && [sip.simflex.net] == [198.67.41.196] 0(23868) check_self - checking if port 5060 matches port 5060 0(23868) parse_headers: flags=4096 0(23868) pre_auth(): Credentials with given realm not found 0(23868) build_auth_hf(): 'WWW-Authenticate: Digest realm="sip.simflex.net", nonce="41dc1011041fc3ddd6f97826e2a678e4ce40b18f" ' 0(23868) parse_headers: flags=-1 0(23868) check_via_address(198.67.41.194, 198.67.41.194, 0) 0(23868) DEBUG:destroy_avp_list: destroing list (nil) 0(23868) receive_msg: cleaning up
--------------My ser.cfg--------------
# ----------- global configuration parameters ------------------------ #debug=7 # debug level (cmd line: -dddddddddd) #fork=yes #log_stderror=no # (cmd line: -E)
# Uncomment these lines to enter debugging mode debug=10 fork=no log_stderror=yes
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 fifo_mode=0777 fifo="/tmp/ser_fifo" listen=198.67.41.196 alias=sip.simflex.net
# ------------------ module loading ---------------------------------- loadmodule "/usr/lib/ser/modules/sl.so" loadmodule "/usr/lib/ser/modules/tm.so" loadmodule "/usr/lib/ser/modules/rr.so" loadmodule "/usr/lib/ser/modules/maxfwd.so" loadmodule "/usr/lib/ser/modules/usrloc.so" loadmodule "/usr/lib/ser/modules/domain.so" loadmodule "/usr/lib/ser/modules/registrar.so" loadmodule "/usr/lib/ser/modules/mangler.so" loadmodule "/usr/lib/ser/modules/nathelper.so" loadmodule "/usr/lib/ser/modules/vm.so" loadmodule "/usr/lib/ser/modules/uri.so" loadmodule "/usr/lib/ser/modules/acc.so" loadmodule "/usr/lib/ser/modules/group.so" loadmodule "/usr/lib/ser/modules/mysql.so" loadmodule "/usr/lib/ser/modules/auth.so" loadmodule "/usr/lib/ser/modules/auth_db.so" loadmodule "/usr/lib/ser/modules/textops.so" loadmodule "/usr/lib/ser/modules/xlog.so"
# ----------------- setting module-specific parameters --------------- modparam("usrloc", "db_mode", 1) modparam("acc", "log_level", 1) modparam("acc", "log_flag", 1 ) modparam("acc", "db_flag", 1) modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "db_url", "REMOVED FROM HERE") modparam("acc", "db_url", "REMOVED FROM HERE") modparam("auth_db", "password_column", "password") modparam("rr", "enable_full_lr", 1) modparam("registrar", "nat_flag", 5) modparam("nathelper", "natping_interval", 60) modparam("nathelper", "ping_nated_only", 1) modparam("xlog", "buf_size", 8192)
# ------------------------- request routing logic ------------------- # main routing logic
route{
lookup("aliases");
if (nat_uac_test("2")) { log(1, "src address different than via header->NAT detected\n"); log(1, "force_rport and fix_nated_contact and setflag(5)\n"); fix_nated_contact(); append_hf("P-hint: fixed NAT contact for request\r\n"); # flag 5 indicates that incoming request is from NATed client setflag(5); };
# initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("20")) { sl_send_reply("483","Too Many Hops"); break; }; if ( msg:len > max_len ) { sl_send_reply("513", "Message too big"); break; };
record_route();
if (method=="BYE" || method=="CANCEL") { log (1, "Accounting flag on\n"); t_replicate("198.67.41.194", "5060"); setflag(1); };
if (loose_route()) { if (method=="BYE" || method=="CANCEL") { log (1, "Accounting flag on\n"); setflag(1); }; log (1, "Accounting flag on\n"); setflag(1); t_relay(); break; }; setflag(1);
if (isflagset(5)) { t_on_reply("1"); if (method=="INVITE") { setflag(1); }; };
if (uri=~"sip:000@.*") { rewritehostport("198.67.41.149:5060"); t_relay_to_udp("198.67.41.149", "5060"); };
if (!lookup("location")) { if (!does_uri_exist()) { if (!src_ip==198.67.41.194) { if (uri=~"sip:1[0-9]+@.*") { rewritehostport("198.67.41.194:5060"); forward(uri:host, uri:port); }; }; }; };
if (uri==myself) { if (method=="REGISTER") { if (search("^(Contact|m): .*@(sip.simflex.net)")) { log(1, "[SER]: ALERT: someone trying to set aor==server address\n"); sl_send_reply("476", "Server address in contacts is not allowed" ); break; }; # challenge/response if (!www_authorize("sip.simflex.net", "subscriber")) { www_challenge("sip.simflex.net", "0"); log(1, "[SER]: Authentication challenge issued. Waiting for reply.\n"); break; }; # no registration spoofing. if (!is_user("replicator") & !check_to()) { log(1, "[SER]: Authentication challenge reply failed- Unregistered user.\n"); sl_send_reply("403", "Only registered users are allowed"); break; }; # authentication successful, add entry to our Contact database log(1, "[SER]: Authentication challenge reply ok.\n"); if (!save("location")) { sl_reply_error(); log(1, "[SER]: ALERT: Unable to save URI to location database.\n"); xlog("L_ERR", "time [%Tf] method <%rm> r-uri <%ru>\n"); } else { # and replicate the request to the backup server if (!src_ip==198.67.41.194) { log(1, "[SER]: REPLICATE: Replicating register request\n"); t_replicate("198.67.41.194", "5060"); }; }; break; };
if (!lookup("location")) { if (!does_uri_exist()) { log(1,"USER UNKNOWN"); setflag(1); sl_send_reply("404", "No such user"); if(t_newtran()){ t_reply("404", "Not Found"); }; break; } else { if (is_user_in("Request-URI", "voicemail")) { setflag(1); if(t_newtran()){ t_reply("100","Trying -- just wait a minute !"); if(method=="INVITE" || method=="REFER"){ log("**************** vm start - begin ******************\n"); if(!vm("/tmp/am_fifo","voicemail")){ log("could not contact voicemail\n"); t_reply("500","could not contact voicemail"); }; log("**************** vm start - end ******************\n"); break; }; if(method=="BYE"){ log("**************** vm end/refer - begin ******************\n"); if(!vm("/tmp/am_fifo","bye")){ log("could not contact the media server\n"); t_reply("500","could not contact the media server"); }; log("**************** vm end/refer - end ********************\n"); break; }; } else { log("could not create new transaction\n"); sl_send_reply("500","could not create new transaction"); }; } else { setflag(1); sl_send_reply("404", "User not online, no voicemail"); acc_db_request("404 User not online","missed_calls"); break; }; }; };
# forward to current uri now; use stateful forwarding; that # works reliably even if we forward from TCP to UDP if (!t_relay()) { sl_reply_error(); setflag(1); xlog("L_ERR", "time [%Tf] method <%rm> r-uri <%ru>\n"); }; };
}
Ok, somehow I have managed to fix all but one of my problems....
I am still having t_replicate problems, and I believe that I have discovered why...
I believe it is because the md5 strings are not matching between the servers, however I have no way to find what the MD5 string is on the second server because it is a VoiceMaster...
I have also tried using the forward command instead of the t_replicate command during the register process as demonstrated by a another serusers mailing list message. It doesn't seem to want to work either.
If I can just get this last problem fixed without breaking anything I should be good to go.
Thanks for all the help so far, I am learning as I go...
Doug
Doug:
Based upon what I did to get replication to work I'd say the MD5 string is the issue. Sorry but I don't have any VoiceMaster experience so I cannot say where to go next.
-Steve
Doug Eubanks wrote:
Ok, somehow I have managed to fix all but one of my problems....
I am still having t_replicate problems, and I believe that I have discovered why...
I believe it is because the md5 strings are not matching between the servers, however I have no way to find what the MD5 string is on the second server because it is a VoiceMaster...
I have also tried using the forward command instead of the t_replicate command during the register process as demonstrated by a another serusers mailing list message. It doesn't seem to want to work either.
If I can just get this last problem fixed without breaking anything I should be good to go.
Thanks for all the help so far, I am learning as I go...
Doug
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Hahaha, neither do the support people for SysMaster based on who I have dealth with personally. If anyone else has an idea, I would be glad to hear it.
BTW: Does anyone know if VoiceMaster uses SER for the SIP gateway, I can't remember where I found it, but I could swear I saw "Sip Express Router" somewhere in the logs.
Doug
Doug:
Based upon what I did to get replication to work I'd say the MD5 string is the issue. Sorry but I don't have any VoiceMaster experience so I cannot say where to go next.
-Steve
Doug Eubanks wrote:
Ok, somehow I have managed to fix all but one of my problems....
I am still having t_replicate problems, and I believe that I have discovered why...
I believe it is because the md5 strings are not matching between the servers, however I have no way to find what the MD5 string is on the second server because it is a VoiceMaster...
I have also tried using the forward command instead of the t_replicate command during the register process as demonstrated by a another serusers mailing list message. It doesn't seem to want to work either.
If I can just get this last problem fixed without breaking anything I should be good to go.
Thanks for all the help so far, I am learning as I go...
Doug
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers