|
Hello and many thanks for a tiny, speedy and easy to use application! I appreciate your attention to details and usability - everything is perfect for me! Recently I have faced with an issue with large SDP messages, when PhonerLite stops accepting calls when the message is larger than ~4095 bytes - it seems to stop parsing as even log stops in the app. Buffer overflow/C-string allocation? My setup is simple but I use ICE due to the mixed LAN, LTE etc environments. TLS and SRTP are in place, many ICE candidates due to many interfaces (Docker, ipv4, ipv6). PABX is Asterisk with ICE enabled for endpoints and many network interfaces generates SDP around 5 KB containing many ICE candidates. Other SIP phones: Groundwire on Android and h/w like Gigaset and Grandstream handle this (or simply skip/filter, I dont know) correctly as I have no issues with incoming and outcoming calls. I was managed to get messages compact by turning off ICE for PhonerLite endpoints but as this seems to be not an RFC limit, probably the parser and the message size can be somehow increased in the future versions? Thanks a lot!
22:45:03,115: R: 4095 bytes parse failed (IP):5091 (TLS) INVITE sip:9901@192.168.4.1:65395;transport=TLS SIP/2.0 Via: SIP/2.0/TLS s To: <sip:9901@192.168.4.1> Contact: <sip:asterisk@192.168.4.2:5091;transport=TLS> Call-ID: bac1defd-c4af-484d-b0e1-ef66ae8d8dff CSeq: 4773 INVITE Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, INFO, MESSAGE, REFER Supported: 100rel, timer, replaces, norefersub, histinfo Session-Expires: 1800 Min-SE: 90 Max-Forwards: 70 User-Agent: Asterisk PBX 22.8.2 Content-Type: application/sdp Content-Length: 4942 v=0 o=- 1888330008 1888330008 IN IP4 192.168.4.2 s=Asterisk c=IN IP4 192.168.4.2 t=0 0 m=audio 10030 RTP/SAVP 9 0 8 3 111 101 a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:2DN22tdQPg1SWP9oCSmaXsKe4NG4mR1tNHZH718A a=ice-ufrag:23522d8644d4d77c62fa13144396a9a9 a=ice-pwd:6fd153281a3ae0284aef231b1f2ef740 a=candidate:Hc0a80402 1 UDP 2130706431 192.168.4.2 10030 typ host a=candidate:Hac1ee801 1 UDP 2130706431 172.30.232.1 10030 typ host a=candidate:Hac1e2001 1 UDP 2130706431 172.30.32.1 10030 typ host a=candidate:H2c6c0010 1 UDP 2130706431 fe80::d4b6:7135:6525:6395 10030 typ host a=candidate:H12999a14 1 UDP 2130706431 fe80::4c07:dcff:fed7:cd26 10030 typ host (lines removed)
|