-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ringing from bridge b-leg not relayed to the a-leg #1695
Comments
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). |
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 ? |
@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! |
This is some kind of "recommendation" or "historical best practice". The RFC does not define an order for provisional responses. |
In the RFC3260, https://datatracker.ietf.org/doc/html/rfc3960#section-3.2 , about ringing and tone generation:
Probably we could have an option to change the policy, instead of just ignore it. |
On solucion could be to play the ringback using a lua script in the event execute_on_ring:
when the 180 arrives it executes the file execute_on_ring.lua, but i can't managed to play nothing to aleg... it only play my file once it answered... This is my lua:
Edit: full log when making the call when trying to play local audio in aleg when ringing received: |
In my opinion freeswitch should not try to generate the ringing, but just relay the ringing message. |
In some countries, the correct detection of ringing (SIP 180, with audio detection as a fallback) is part of the regulatory rules for B2C outbound calls. These regulations specify the minimum number of seconds a customer’s phone must ring before the calling company can hang up, and the maximum number of seconds the phone is allowed to ring before the calling company must hang up. In the end, a SIP 180 "Ringing" signal should only be generated by a device that is actively informing a user, and it should simply be passed down to the originating caller. |
Especially the third point should be fairly easy to fix I think. Hoping this will get some priority. |
Found two similar issues in the sofia-sip rep: freeswitch/sofia-sip#117 The first one is about 100rel and PRACK's not getting sent when a 180 is received. ( after an 183 ) |
I think in this case is not a sofia issue (or i couldn't see it), here it is a full log with sofia debug level for the sipp scenario: |
Has anybody found a workaround? |
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:
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
The text was updated successfully, but these errors were encountered: