<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000066">
<br>
Hello;<br>
There is a problem in acc_radius module that radius message has
2 time sends "Acct-Status-Type = Start" when call is established as
example below. it should be ALIVE as i see in rad_status.if
req_METHOD is ACK , it should be ALIVE. And There is a problem
Sip-Method Problem that even if it is ACK , it sends Invite. How can
i fix these problems could you help me about it?<br>
i already defined Acct-Status-Ttpe Values like Below<br>
VALUE Acct-Status-Type Failed 15 # RFC2866, acc<br>
VALUE Acct-Status-Type Start 1 # RFC2866, acc<br>
VALUE Acct-Status-Type Stop 2 # RFC2866, acc<br>
VALUE Acct-Status-Type Alive 3 # RFC2866, acc<br>
<br>
When i debug tag.len in Invite and ack transaction i get 0 value but
in Bye it has bigger than 0 .So that it never be Alive<br>
<br>
static inline uint32_t rad_status( struct sip_msg *req, int code )<br>
{<br>
str tag;<br>
unsigned int in_dialog_req = 0;<br>
<br>
tag = get_to(req)->tag_value;<br>
if(tag.s!=0 && tag.len!=0)<br>
in_dialog_req = 1;<br>
<br>
if (req->REQ_METHOD==METHOD_INVITE &&
in_dialog_req == 0<br>
&& code>=200 && code<300)<br>
return rd_vals[RV_STATUS_START].v;<br>
if ((req->REQ_METHOD==METHOD_BYE ||
req->REQ_METHOD==METHOD_CANCEL))<br>
return rd_vals[RV_STATUS_STOP].v;<br>
if (in_dialog_req != 0)<br>
return rd_vals[RV_STATUS_ALIVE].v;<br>
return rd_vals[RV_STATUS_FAILED].v;<br>
}<br>
<br>
---------- RADIUS PACKET------------<br>
Mon Jun 29 12:47:33 2015<br>
Acct-Status-Type = Start<br>
Service-Type = Sip-Session<br>
Sip-Response-Code = 200<br>
Sip-Method = Invite<br>
Mon Jun 29 12:47:33 2015<br>
Acct-Status-Type = Start<br>
Service-Type = Sip-Session<br>
Sip-Response-Code = 200<br>
Sip-Method = Invite<br>
Mon Jun 29 12:48:07 2015<br>
Acct-Status-Type = Stop<br>
Service-Type = Sip-Session<br>
Sip-Response-Code = 200<br>
Sip-Method = Bye<br>
<br>
</body>
</html>