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.56k stars 1.41k forks source link

Multi-body SDP Problem #1816

Closed skainz92 closed 2 months ago

skainz92 commented 2 years ago

Hi,

in our setup, freeswitch has to handle sdp headers in multipart-bodies sometimes. I have seen it work, but for some reason the following sdp doesnt work:

2022-09-28 18:53:45.130978 98.93% [DEBUG] sofia.c:7509 Remote SDP:
--sonus-content-delim
Content-Disposition: session; handling=required
Content-Type: application/sdp

v=0
o=Sonus_UAC 7718 4751 IN IP4 xxx.xxx.xxx.xxx
s=SIP Media Capabilities
c=IN IP4 xxx.xxx.xxx.xxx
t=0 0
m=audio 5770 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20

--sonus-content-delim
Content-Disposition: signal; handling=optional
Content-Type: application/isup; version=itu-t92+; base=itu-t92+

    -
nua.c:638 nua_ack() nua: nua_ack: entering

We get a 500-response with the following error-message: nua_stack.c:301 nua_stack_event() nua(0x7f731c059130): event i_media_error 988 Incomplete offer/answer

My guess is, that the isup part is messing with the parsing of the sdp. Already tried this: https://freeswitch.org/confluence/pages/viewpage.action?pageId=16353008

Is there something im missing? Or is this a normal behavior?

skainz92 commented 2 years ago

Btw. i wrongly marked it as bug, and now i cant change it, sorry for that ...