ACK to 200 OK in a Bridge
I have the following issue: if I do a bridge of an inbound call to an outbound call, when the called number answer the call with a 200 OK, FreeSwitch sends the ACK instantely, without wait the ACK of the calling. The message flow (as shown in the attached .png) is: CALLING FS CALLED INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK -------------> ACK <--------- 200 OK -------------> ACK When I expected that the ACK to called is related to ACK from the calling: CALLING FS CALLED INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK <--------- 200 OK -------------> ACK -------------> ACK For this reason, if sometimes the Calling doesn't send the ACK (because it reject the 200 OK), the call is considered connected (and billed) by Freeswitch (30s, probably due to a timeout waiting ack) and not by Calling (0s). There is a way (config?) to send ACK to called only when is received the ACK from calling? Stephen
What is the billsec of each leg of the call? Is it what you expect to see? Brian Foster Endigo Computer LLC Sent from a mobile device. On Jul 20, 2012 8:49 AM, "Stephen Wilde" <wstephen80@gmail.com> wrote:
I have the following issue: if I do a bridge of an inbound call to an outbound call, when the called number answer the call with a 200 OK, FreeSwitch sends the ACK instantely, without wait the ACK of the calling.
The message flow (as shown in the attached .png) is:
CALLING FS CALLED
INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK -------------> ACK <--------- 200 OK -------------> ACK
When I expected that the ACK to called is related to ACK from the calling:
CALLING FS CALLED
INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK <--------- 200 OK -------------> ACK -------------> ACK
For this reason, if sometimes the Calling doesn't send the ACK (because it reject the 200 OK), the call is considered connected (and billed) by Freeswitch (30s, probably due to a timeout waiting ack) and not by Calling (0s). There is a way (config?) to send ACK to called only when is received the ACK from calling?
Stephen
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Sorry, I think I understand a little better now. Please post a siptrace of both legs of the entire call on pastebin.freeswitch.org and link back here. Sanitize of you like, but dont make it too ambiguous. Brian Foster Endigo Computer LLC Sent from a mobile device. On Jul 20, 2012 8:49 AM, "Stephen Wilde" <wstephen80@gmail.com> wrote:
I have the following issue: if I do a bridge of an inbound call to an outbound call, when the called number answer the call with a 200 OK, FreeSwitch sends the ACK instantely, without wait the ACK of the calling.
The message flow (as shown in the attached .png) is:
CALLING FS CALLED
INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK -------------> ACK <--------- 200 OK -------------> ACK
When I expected that the ACK to called is related to ACK from the calling:
CALLING FS CALLED
INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK <--------- 200 OK -------------> ACK -------------> ACK
For this reason, if sometimes the Calling doesn't send the ACK (because it reject the 200 OK), the call is considered connected (and billed) by Freeswitch (30s, probably due to a timeout waiting ack) and not by Calling (0s). There is a way (config?) to send ACK to called only when is received the ACK from calling?
Stephen
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
This is not a particulare case: in all calls bridged by FS the ACK to the 200OK to the outbound leg is sent not related to the ACK received from inbound leg. I expect a flow as: http://www.packetizer.com/ipmc/sip/papers/understanding_sip_voip/sip_call_fl... These are my traces: LegA: http://pastebin.freeswitch.org/19565 LegB: http://pastebin.freeswitch.org/19566 On Fri, Jul 20, 2012 at 2:59 PM, Brian Foster <bdfoster@endigotech.com>wrote:
Sorry, I think I understand a little better now.
Please post a siptrace of both legs of the entire call on pastebin.freeswitch.org and link back here. Sanitize of you like, but dont make it too ambiguous.
Brian Foster Endigo Computer LLC
Sent from a mobile device. On Jul 20, 2012 8:49 AM, "Stephen Wilde" <wstephen80@gmail.com> wrote:
I have the following issue: if I do a bridge of an inbound call to an outbound call, when the called number answer the call with a 200 OK, FreeSwitch sends the ACK instantely, without wait the ACK of the calling.
The message flow (as shown in the attached .png) is:
CALLING FS CALLED
INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK -------------> ACK <--------- 200 OK -------------> ACK
When I expected that the ACK to called is related to ACK from the calling:
CALLING FS CALLED
INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK <--------- 200 OK -------------> ACK -------------> ACK
For this reason, if sometimes the Calling doesn't send the ACK (because it reject the 200 OK), the call is considered connected (and billed) by Freeswitch (30s, probably due to a timeout waiting ack) and not by Calling (0s). There is a way (config?) to send ACK to called only when is received the ACK from calling?
Stephen
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
This shouldn¹t be a problem... The call is answered as soon as FS gets the 200 OK from the termination leg... Also keep in mind that FreeSWITCH has sofia do a few things automattically like the 100 trying is done automagic by the sofia lib... Also FreeSwitch is a B2BUA not a Proxy so the the A Leg can operate independently of the B leg... On 7/20/12 7:48 AM, "Stephen Wilde" <wstephen80@gmail.com> wrote:
I have the following issue: if I do a bridge of an inbound call to an outbound call, when the called number answer the call with a 200 OK, FreeSwitch sends the ACK instantely, without wait the ACK of the calling.
The message flow (as shown in the attached .png) is:
CALLING FS CALLED
INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK -------------> ACK <--------- 200 OK -------------> ACK
When I expected that the ACK to called is related to ACK from the calling:
CALLING FS CALLED
INVITE ---------> 100 Trying <--------- -------------> INVITE <--------- 100 Trying <--------- 200 OK <--------- 200 OK -------------> ACK -------------> ACK
For this reason, if sometimes the Calling doesn't send the ACK (because it reject the 200 OK), the call is considered connected (and billed) by Freeswitch (30s, probably due to a timeout waiting ack) and not by Calling (0s). There is a way (config?) to send ACK to called only when is received the ACK from calling?
Stephen
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (3)
-
Brian Foster
-
Ken Rice
-
Stephen Wilde