I am moving to SER from Asterisk for the radius auth and accounting.
I finally made SER register and authenticate my test endpoint (Cisco ATA 186) :D i can dial to my home phone and my regular phone rings... but when i pick up i have dialtone... i'm pasting SER's output and my ser.cfg below. A codec problem? My carrier is using G729.
I am moving to SER from asterisk... on asterisk i can place callls from this same ATA box trough my carrier. Does SER care what the Codec is ?
Thanks in advance,
Carlos Maynard Jr.
ser.cfg: -------- listen=66.118.238.201
debug=9 fork=no log_stderror=no
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) fifo="/tmp/ser_fifo"
loadmodule "/usr/local/lib/ser/modules/mysql.so" loadmodule "/usr/local/lib/ser/modules/auth_radius.so" loadmodule "/usr/local/lib/ser/modules/sl.so" loadmodule "/usr/local/lib/ser/modules/tm.so" loadmodule "/usr/local/lib/ser/modules/rr.so" loadmodule "/usr/local/lib/ser/modules/maxfwd.so" loadmodule "/usr/local/lib/ser/modules/usrloc.so" loadmodule "/usr/local/lib/ser/modules/registrar.so" loadmodule "/usr/local/lib/ser/modules/auth.so" loadmodule "/usr/local/lib/ser/modules/auth_db.so"
modparam("usrloc", "db_mode", 0)
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password") modparam("auth_db", "db_url", "mysql://ser:heslo@66.118.238.198/ser") modparam("auth_radius", "radius_config","/usr/local/etc/radiusclient/radiusclient.conf")
modparam("rr", "enable_full_lr", 1)
route{
log(1, "\n**********************ROUTING\n");
# 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"); break; }; if ( msg:len > max_len ) { sl_send_reply("513", "Message too big"); break; };
record_route();
if (loose_route()) { log(1, "\n**********************LOOSE ROUTE\n"); t_relay(); break; };
if (uri==myself) { log(1, "\n**********************MYSELF\n");
if (method=="REGISTER") { log(1, "REGISTER: Authenticating user\n");
if (!radius_www_authorize("")) { log(1, "REGISTER: challenging user\n"); www_challenge("", "0"); break; };
save("location"); break; };
if (method=="INVITE") { log(1, "INVITE\n"); setflag(1); /* set for accounting (the same value as in log_flag!) */ };
if (method=="MESSAGE") { log(1, "MESSAGE\n"); setflag(1); /* set for accounting (the same value as in log_flag!) */ };
if (method=="BYE" || method=="CANCEL") { log (1, "BYE or CANCEL\n"); setflag(1); };
# IF HOST IS JUST NUMBERS SEND TO route(3) FOR E.164 PROCESSING if (uri =~ "^sip:[0-9]*@"){ log(1, "SER: matched ^sip:[0-9]*@ - just numbers - process in route(3)\n"); route(3); break; };
} } route[3] {
if (uri=~"^sip:[0-9]*@") { log(1, "SER: matched ^sip:6126[1,2] - forward to GW in CANBERRA\n"); rewritehostport("38.114.15.34:5060"); t_relay_to_udp("38.114.15.34","5060"); break; };
}
Console Output: -----------------
0(13481) SIP Request: 0(13481) method: <INVITE> 0(13481) uri: sip:12814192614@66.118.238.201;user=phone 0(13481) version: <SIP/2.0> 0(13481) parse_headers: flags=1 0(13481) end of header reached, state=5 0(13481) parse_headers: Via found, flags=1 0(13481) parse_headers: this is the first via 0(13481) After parse_msg... 0(13481) preparing to run routing scripts... 0(13481) **********************ROUTING 0(13481) DEBUG : is_maxfwd_present: searching for max_forwards header 0(13481) parse_headers: flags=128 0(13481) end of header reached, state=9 0(13481) DEBUG: get_hdr_field: <To> [45]; uri=[sip:12814192614@66.118.238.201;user=phone] 0(13481) DEBUG: to body [sip:12814192614@66.118.238.201;user=phone ] 0(13481) get_hdr_field: cseq <CSeq>: <1> <INVITE> 0(13481) DEBUG: get_hdr_body : content_length=268 0(13481) found end of header 0(13481) DEBUG: is_maxfwd_present: max_forwards header not found! 0(13481) DEBUG: add_param: tag=119525115 0(13481) end of header reached, state=29 0(13481) parse_headers: flags=256 0(13481) find_first_route(): No Route headers found 0(13481) loose_route(): There is no Route HF 0(13481) check_self - checking if host==us: 14==14 && [66.118.238.201] == [66.118.238.201] 0(13481) check_self - checking if port 5060 matches port 5060 0(13481) **********************MYSELF 0(13481) INVITE 0(13481) SER: matched ^sip:[0-9]*@ - just numbers - process in route(3) 0(13481) SER: matched ^sip:6126[1,2] - forward to GW in CANBERRA 0(13481) DEBUG: t_addifnew: msg id=121 , global msg id=120 , T on entrance=0xffffffff 0(13481) parse_headers: flags=-1 0(13481) parse_headers: flags=60 0(13481) t_lookup_request: start searching: hash=30407, isACK=0 0(13481) DEBUG: proceeding to pre-RFC3261 transaction matching 0(13481) DEBUG: t_lookup_request: no transaction found 0(13481) SER: new INVITE 0(13481) parse_headers: flags=-1 0(13481) check_via_address(68.91.112.229, 192.168.1.4, 0) 0(13481) WARNING:vqm_resize: resize(0) called 0(13481) DEBUG: reply sent out. buf=0x80c5f20: SIP/2.0 1..., shmem=0x402e4040: SIP/2.0 1 0(13481) DEBUG: t_reply: finished 0(13481) check_via_address(68.91.112.229, 192.168.1.4, 0) 0(13481) DEBUG: add_to_tail_of_timer[4]: 0x402e4f30 0(13481) DEBUG: add_to_tail_of_timer[0]: 0x402e4f44 0(13481) SER: new transaction fwd'ed 0(13481) DEBUG:destroy_avp_list: destroing list (nil) 0(13481) receive_msg: cleaning up 0(13481) SIP Reply (status): 0(13481) version: <SIP/2.0> 0(13481) status: <100> 0(13481) reason: <Trying> 0(13481) parse_headers: flags=1 0(13481) Found param type 232, <branch> = <z9hG4bK7c67.dc0712e3.0>; state=16 0(13481) end of header reached, state=5 0(13481) parse_headers: Via found, flags=1 0(13481) parse_headers: this is the first via 0(13481) After parse_msg... 0(13481) forward_reply: found module tm, passing reply to it 0(13481) DEBUG: t_check: msg id=122 global id=121 T start=0xffffffff 0(13481) parse_headers: flags=17 0(13481) Found param type 234, <received> = <192.168.1.4>; state=16 0(13481) end of header reached, state=5 0(13481) parse_headers: Via found, flags=17 0(13481) parse_headers: this is the second via 0(13481) end of header reached, state=9 0(13481) DEBUG: get_hdr_field: <To> [45]; uri=[sip:12814192614@66.118.238.201;user=phone] 0(13481) DEBUG: to body [sip:12814192614@66.118.238.201;user=phone ] 0(13481) get_hdr_field: cseq <CSeq>: <1> <INVITE> 0(13481) parse_headers: flags=4 0(13481) DEBUG: t_reply_matching: hash 30407 label 1042378957 branch 0 0(13481) DEBUG: t_reply_matching: reply matched (T=0x402e4e08)! 0(13481) DEBUG: t_check: msg id=122 global id=122 T end=0x402e4e08 0(13481) DEBUG: t_on_reply: org. status uas=100, uac[0]=0 local=0 is_invite=1) 0(13481) ->>>>>>>>> T_code=100, new_code=100 0(13481) DEBUG: relay_reply: branch=0, save=0, relay=-1 0(13481) DEBUG: add_to_tail_of_timer[1]: 0x402e4f44 0(13481) DEBUG:destroy_avp_list: destroing list (nil) 0(13481) receive_msg: cleaning up 1(13482) DEBUG: timer routine:4,tl=0x402e4f30 next=(nil) 0(13481) SIP Reply (status): 0(13481) version: <SIP/2.0> 0(13481) status: <180> 0(13481) reason: <Ringing> 0(13481) parse_headers: flags=1 0(13481) Found param type 232, <branch> = <z9hG4bK7c67.dc0712e3.0>; state=16 0(13481) end of header reached, state=5 0(13481) parse_headers: Via found, flags=1 0(13481) parse_headers: this is the first via 0(13481) After parse_msg... 0(13481) forward_reply: found module tm, passing reply to it 0(13481) DEBUG: t_check: msg id=123 global id=122 T start=0xffffffff 0(13481) parse_headers: flags=17 0(13481) Found param type 234, <received> = <192.168.1.4>; state=16 0(13481) end of header reached, state=5 0(13481) parse_headers: Via found, flags=17 0(13481) parse_headers: this is the second via 0(13481) DEBUG: add_param: tag=SD40lb399-38 0(13481) end of header reached, state=29 0(13481) DEBUG: get_hdr_field: <To> [62]; uri=[sip:12814192614@66.118.238.201;user=phone] 0(13481) DEBUG: to body [sip:12814192614@66.118.238.201;user=phone] 0(13481) get_hdr_field: cseq <CSeq>: <1> <INVITE> 0(13481) parse_headers: flags=4 0(13481) DEBUG: t_reply_matching: hash 30407 label 1042378957 branch 0 0(13481) DEBUG: t_reply_matching: reply matched (T=0x402e4e08)! 0(13481) DEBUG: t_check: msg id=123 global id=123 T end=0x402e4e08 0(13481) DEBUG: t_on_reply: org. status uas=100, uac[0]=100 local=0 is_invite=1) 0(13481) ->>>>>>>>> T_code=100, new_code=180 0(13481) DEBUG: relay_reply: branch=0, save=0, relay=0 0(13481) old size: 669, new size: 606 0(13481) build_res_from_sip_res: copied size: orig:84, new: 21, rest: 585 msg= SIP/2.0 180 Ringing Via: SIP/2.0/UDP 192.168.1.4:5060;received=192.168.1.4 From: Line 0 sip:2000@66.118.238.201;user=phone;tag=119525115 To: sip:12814192614@66.118.238.201;user=phone;tag=SD40lb399-38 Call-ID: 2912392921@68.91.112.229 CSeq: 1 INVITE Record-Route: sip:12814192614@66.118.238.201;ftag=119525115;lr=on Content-Length: 176 Content-Disposition: session;handling=required Content-Type: application/sdp
v=0 o=Sonus_UAC 22631 32400 IN IP4 38.114.15.34 s=SIP Media Capabilities c=IN IP4 38.114.15.34 t=0 0 m=audio 6220 RTP/AVP 18 a=fmtp:18 annexb:no a=sendrecv a=ptime:20
0(13481) DEBUG: reply relayed. buf=0x80c67b0: SIP/2.0 1..., shmem=0x402e6840: SIP/2.0 1 0(13481) DEBUG: add_to_tail_of_timer[1]: 0x402e4f44 0(13481) DEBUG:destroy_avp_list: destroing list (nil) 0(13481) receive_msg: cleaning up
0(13481) SIP Request: 0(13481) method: <CANCEL> 0(13481) uri: sip:12814192614@66.118.238.201;user=phone 0(13481) version: <SIP/2.0> 0(13481) parse_headers: flags=1 0(13481) end of header reached, state=5 0(13481) parse_headers: Via found, flags=1 0(13481) parse_headers: this is the first via 0(13481) After parse_msg... 0(13481) preparing to run routing scripts... 0(13481) **********************ROUTING 0(13481) DEBUG : is_maxfwd_present: searching for max_forwards header 0(13481) parse_headers: flags=128 0(13481) end of header reached, state=9 0(13481) DEBUG: get_hdr_field: <To> [45]; uri=[sip:12814192614@66.118.238.201;user=phone] 0(13481) DEBUG: to body [sip:12814192614@66.118.238.201;user=phone ] 0(13481) get_hdr_field: cseq <CSeq>: <1> <CANCEL> 0(13481) DEBUG: get_hdr_body : content_length=0 0(13481) found end of header 0(13481) DEBUG: is_maxfwd_present: max_forwards header not found! 0(13481) DEBUG: add_param: tag=119525115 0(13481) end of header reached, state=29 0(13481) parse_headers: flags=256 0(13481) find_first_route(): No Route headers found 0(13481) loose_route(): There is no Route HF 0(13481) check_self - checking if host==us: 14==14 && [66.118.238.201] == [66.118.238.201] 0(13481) check_self - checking if port 5060 matches port 5060 0(13481) **********************MYSELF 0(13481) BYE or CANCEL 0(13481) SER: matched ^sip:[0-9]*@ - just numbers - process in route(3) 0(13481) SER: matched ^sip:6126[1,2] - forward to GW in CANBERRA 0(13481) DEBUG: t_addifnew: msg id=124 , global msg id=123 , T on entrance=0xffffffff 0(13481) parse_headers: flags=-1 0(13481) parse_headers: flags=60 0(13481) t_lookup_request: start searching: hash=30407, isACK=0 0(13481) DEBUG: proceeding to pre-RFC3261 transaction matching 0(13481) DEBUG: t_lookup_request: no transaction found 0(13481) DEBUG: t_lookupOriginalT: searching on hash entry 30407 0(13481) DEBUG: t_lookupOriginalT: canceled transaction found (0x402e4e08)! 0(13481) DEBUG: t_lookupOriginalT completed 0(13481) check_via_address(68.91.112.229, 192.168.1.4, 0) 0(13481) DEBUG: add_to_tail_of_timer[4]: 0x402e7040 0(13481) DEBUG: add_to_tail_of_timer[0]: 0x402e7054 0(13481) DEBUG: e2e_cancel: e2e cancel proceeding 0(13481) parse_headers: flags=-1 0(13481) check_via_address(68.91.112.229, 192.168.1.4, 0) 0(13481) WARNING:vqm_resize: resize(0) called 0(13481) DEBUG: cleanup_uacs: RETR/FR timers reset 0(13481) DEBUG: add_to_tail_of_timer[2]: 0x402e6f60 0(13481) DEBUG: reply sent out. buf=0x80c6180: SIP/2.0 2..., shmem=0x402e8420: SIP/2.0 2 0(13481) DEBUG: t_reply: finished 0(13481) DEBUG: e2e_cancel: sending 487 0(13481) parse_headers: flags=-1 0(13481) check_via_address(68.91.112.229, 192.168.1.4, 0) 0(13481) DEBUG: cleanup_uacs: RETR/FR timers reset 0(13481) DEBUG: add_to_tail_of_timer[4]: 0x402e4ebc 0(13481) DEBUG: add_to_tail_of_timer[0]: 0x402e4ed0 0(13481) DEBUG: reply sent out. buf=0x80c6550: SIP/2.0 4..., shmem=0x402e9e68: SIP/2.0 4 0(13481) DEBUG: t_reply: finished 0(13481) SER: new transaction fwd'ed 0(13481) DEBUG:destroy_avp_list: destroing list (nil) 0(13481) receive_msg: cleaning up