Skip to content
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

Cant support transfer PRACK with SDP #2401

Open
acleast opened this issue Mar 6, 2024 · 4 comments
Open

Cant support transfer PRACK with SDP #2401

acleast opened this issue Mar 6, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@acleast
Copy link

acleast commented Mar 6, 2024

inbound-bypass-media = true
bypass_media=true

  1. Freeswitch receive invite without sdp from caller, and freeswitch transfer this invite.
  2. Callee reply 183 with SDP and 100rel
  3. nua replay prack fail
  4. Freeswitch transfer 183 to caller and receive PRACK with SDP. but freeswitch cant transfer this prack

and where should set sip_wait_for_aleg_ack ?

@acleast acleast added the bug Something isn't working label Mar 6, 2024
@mjerris
Copy link
Collaborator

mjerris commented Mar 6, 2024

100rel is disabled by default. it's use is unstable and not recommended. There are known crashes in 100rel scenarios if enabled.

@acleast
Copy link
Author

acleast commented Mar 7, 2024

Caller hope negotiate early media via 183 and prack. So must enable 100rel

@NormanMichaelis-Grey
Copy link

Hi

I have no idea if this is related to the issue your are having, but i had the same sort of issue with some interop testing with a Mobile operator in SA they insist on having PRACK enable:
The GW to the operator is set to
Extension-In-Contact = false
enable-100rel=true

then FS makes the contact message:
Contact: sip:FREESWITCH@aaa.bbb.ccc.ddd:5060;transport=udp;gw=SBC-01

Our mobile operator was processing the calls fine, but when the mobile device placed a call on hold or similar, the call drop on the mobile device, and the VOIP stayed connected....

I am using an installation of ASTPP, so I edited the source of FS. (freeswitch-1.10.10.-release)
endpoints/mod_sofia/sofia.c
inside the calls to check if extension_in_contact is set.
around Line 4201 in
– format = strchr(sipip, ‘:’) ? “sip:gw+%s@[%s]:%d%s%s” : “sip:gw+%s@%s:%d%s%s”;
++ format = strchr(sipip, ‘:’) ? “sip:[%s]:%d%s” : “sip:%s:%d%s”;

Contact: sip:aaa.bbb.ccc.ddd:5060;transport=udp;gw=SBC-01

now all calls can be placed on hold by the mobile devices, voip call can be joined to a conference call initiated by the mobile device...

@acleast
Copy link
Author

acleast commented May 11, 2024

100rel is disabled by default. it's use is unstable and not recommended. There are known crashes in 100rel scenarios if enabled.

I have resolved this issue self.
sofia receive 183 with 100real and will send prack, but send fail because of sdp negotiate fail. so we can finish this send transaction. and transfer 183 to caller, when receive PRACK witch SDP, we send PRACK with SDP in mod_sofia.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants