Hi Matt,
There is no ACK for BYEs - ACK is used only for INVITE requests.
Most probably XLite fails (if receives) to recognize the BYE generated
by the HW phone - the lack of a reply to BYE will lead to
retransmissions and finally to time-out - the extra 30 seconds is
exactly the time-out period for non-INVITe requests.
Best regards,
Marian
matt morris wrote:
Hello List,
First, many thanks to those who replied my previous dumb questions. My
SER 0.9.0 with mysql auth and radius accounting with mysql is seemingly
working ok.
I have a question about SER's Radius accounting, but not sure how to
ask, here is my situation:
I'm testing out calls between XLite (caller) and a hardware phone
(callee), but for some reason the call duration is always 30 seconds
longer than actual (For both cases, it's the callee who does the hang
up). I tried calls between XLite and XLite and the duration would be
accurate. So I ngrep-d the traffic for both scenairos, for XLite-XLite's
case, the flow is the side who hangs up (say, UA1) will send the BYE to
SER then SER relays the BYE to UA2. Then UA2 sends an ACK to SER and SER
relays the ACK to UA1. For the XLite to HW phone's case, the phone will
still send the BYE to SER and SER will relay it to XLite. However, XLite
will not send an ACK to SER. And the phone sends another BYE to SER and
then SER relays it to XLite -this is repeated for 5 - 6 times until
finally SER will just send a 408 Request Timeout to the HW Phone. And it
seems this is the time when SER sends the Stop message to the Radius
server, and hence the extra 30-sec call duration. So I'm wondering if
SER indeed needs the ACK for the BYE message before sending the
accounting stop message to Radius? Or is my situation caused by some
other reasons? Thank you in advance.
--
Voice System
http://www.voice-system.ro