signalwire / freeswitch

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
https://freeswitch.com/#getting-started
Other
3.46k stars 1.39k forks source link

Ringing from bridge b-leg not relayed to the a-leg #1695

Open miclast opened 2 years ago

miclast commented 2 years ago

Describe the bug

When incoming call going to the bridge if called gateway peer send back 180 ringing this SIP message is not relayed to the caller channel at all.

To Reproduce Steps to reproduce the behavior:

  1. Using this dialplan: extension name="public_711" condition field="destination_number" expression="^711(\d+)$" action application="set" data="domain_name=$${domain}" action application="set" data="outbound_caller_id_number=${caller_id_number}" action application="log" data="WARNING CID Num is ${outbound_caller_id_number}" action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" action application="set" data="absolute_codec_string=PCMA,PCMU" action application="bridge" data="{absolute_codec_string='PCMA,PCMU'}sofia/gateway/SS2/$1" condition extension

Expected behavior

INVITE (SDP) 100 Trying 180 Ringing other messages ... on both bridge legs if 180 coming from dialed by bridge channel.

Package version or git hash


![incoming](https://user-images.githubusercontent.com/16573520/174262228-f0d4f224-baa5-4944-9919-d37d638ab7b2.png)
![outgoing](https://user-images.githubusercontent.com/16573520/174262233-096a5852-3bfd-487e-988b-6f7f13341355.png)
#
ThomasLobker commented 2 years ago

Unfortunately FreeSWITCH is dropping a 180 (without SDP) if it's preceded by a 183 with SDP.

Assuming that the B leg is not currently sending any early media, the 180 Ringing should actually trigger a local generated ringback tone. So depending on whether FreeSWITCH is bypassing media or not, the proper behavior of FreeSWITCH would be to generate a local ringback tone and send it to the A leg (when not bypassing media) or forward the 180 Ringing to the A leg (when bypassing media).

haeferer commented 10 months ago

Hi, any new Informations on this behavior ?

It can still be reproduced (or is it simple a feature).

Bridge with ByPass Media works as expectet.

Bridge without bypass (for instance to Record) -> Ringing ist Hidden / translated to 183/SDP ?

ThomasLobker commented 4 months ago

@dragos-oancea your help would be much appreciated! If there is anything I can do in regard to additional testing or providing more information, please let me know. Cheers!