Brekeke deletes last lines of INVITE message

Discuss any topic about Brekeke SIP Server.

Moderator: Brekeke Support Team

Post Reply
loop
Posts: 8
Joined: Thu Nov 09, 2017 1:23 am

Brekeke deletes last lines of INVITE message

Post by loop »

1. Brekeke Product Name and Version: SIP Server 3.7/466

2. Java version:1.8.0_144

3. OS type and the version: Windows 10

4. Your problem: Brekeke deletes last lines of INVITE message.

I want to make call with TLS and SRTP. There are two phones and one of them is behind NAT. So, I use TURN and STUN servers for IP resolution.
When I make a call, the INVITE message involves 6 candidates in SDP.


Created INVITE message:

==============================================
INVITE sip:5049@20.1.12.121:5061;transport=tls SIP/2.0
Via: SIP/2.0/TLS 20.1.13.5:46143;rport=46143;branch=z9hG4bKPjgkFeujY9EJBCZ6xMUZxEo1dwf26a0wfK;alias
Max-Forwards: 70
From: <sip:5045@20.1.12.121>;tag=pgsVWEDADJnv0an9fWA92xKUmzxI-QMr
To: <sip:5049@20.1.12.121>
Contact: <sip:5045@20.1.13.5:46143;transport=TLS;ob>;+sip.ice
Call-ID: XGYkuVEwtRY14ID5opMD1LZ9EM3OGYBo
CSeq: 10589 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, norefersub
User-Agent: xxx
Proxy-Authorization: Digest username="5045", realm="xxx", nonce="8bd03e047b0fc4517f0a2dffb430513e818a84c9", uri="sip:5049@20.1.12.121:5061;transport=tls", response="f3cbf416e1f50e0252f11dcf9de832e2", algorithm=MD5
Content-Type: application/sdp
Content-Length: 1335

v=0
o=- 3509996738 3509996738 IN IP4 20.1.12.23
s=pjmedia
b=AS:84
t=0 0
a=X-nat:3
m=audio 63220 RTP/AVP 0 3 8 18 96
c=IN IP4 20.1.12.23
b=TIAS:64000
a=rtcp:52423 IN IP4 20.1.12.23
a=sendrecv
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexa=no
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:5Ys+WGyxIkFWXcYJgAwFL538mmfE1ZDnhLJ/aGe9xQbLQxu++F6hzO9rsSEVFg==
a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:+yV2s5K2ulEDHzXbncXkkLv4jYDeeMDtB/7vJK9/mi1wK0rPqcy7crCSWdkMsA==
a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:fbU1OMKcNxuBaSlyyYvzEaxa8tMrT6L3DTnuEgwd
a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:K/UcKs1G/HUeiybCboYI7fULT4T5M+FRtib7XYrD
a=ice-ufrag:47bf6ec1
a=ice-pwd:49fc024f
a=candidate:Sc0a80464 1 UDP 1694498815 20.1.13.5 50001 typ srflx raddr 192.168.4.100 rport 50001
a=candidate:Hc0a80464 1 UDP 2130706431 192.168.4.100 50001 typ host
a=candidate:R14010c17 1 UDP 16777215 20.1.12.23 63220 typ relay raddr 20.1.13.5 rport 50039
a=candidate:Sc0a80464 2 UDP 1694498814 20.1.13.5 50008 typ srflx raddr 192.168.4.100 rport 50008
a=candidate:Hc0a80464 2 UDP 2130706430 192.168.4.100 50008 typ host
a=candidate:R14010c17 2 UDP 16777214 20.1.12.23 52423 typ relay raddr 20.1.13.5 rport 50050


I can see the same INVITE message on Brekeke Server computer with Wireshark. But when I look at the Brekeke log file, Brekeke gets broken INVITE message(last two candidate lines are missing).


The broken message from Brekeke log file:

==============================================
tls-con.1: debug: receive: from=20.1.13.5 at 11/09/17 10:20:44.086
==============================================
INVITE sip:5049@20.1.12.121:5061;transport=tls SIP/2.0
Via: SIP/2.0/TLS 20.1.13.5:46143;rport=46143;branch=z9hG4bKPjlBzbVKZ9tqm6MCQQruPV6t90k.0fTzMw;alias
Max-Forwards: 70
From: <sip:5045@20.1.12.121>;tag=pgsVWEDADJnv0an9fWA92xKUmzxI-QMr
To: <sip:5049@20.1.12.121>
Contact: <sip:5045@20.1.13.5:46143;transport=TLS;ob>;+sip.ice
Call-ID: XGYkuVEwtRY14ID5opMD1LZ9EM3OGYBo
CSeq: 10590 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, norefersub
User-Agent: xxx
Proxy-Authorization: Digest username="5045", realm="xxx", nonce="8bd03e047b0fc4517f0a2dffb430513e818a84c9", uri="sip:5049@20.1.12.121:5061;transport=tls", response="f3cbf416e1f50e0252f11dcf9de832e2", algorithm=MD5
Content-Type: application/sdp
Content-Length: 1335

v=0
o=- 3509996738 3509996738 IN IP4 20.1.12.23
s=pjmedia
b=AS:84
t=0 0
a=X-nat:3
m=audio 63220 RTP/AVP 0 3 8 18 96
c=IN IP4 20.1.12.23
b=TIAS:64000
a=rtcp:52423 IN IP4 20.1.12.23
a=sendrecv
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexa=no
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:5Ys+WGyxIkFWXcYJgAwFL538mmfE1ZDnhLJ/aGe9xQbLQxu++F6hzO9rsSEVFg==
a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:+yV2s5K2ulEDHzXbncXkkLv4jYDeeMDtB/7vJK9/mi1wK0rPqcy7crCSWdkMsA==
a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:fbU1OMKcNxuBaSlyyYvzEaxa8tMrT6L3DTnuEgwd
a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:K/UcKs1G/HUeiybCboYI7fULT4T5M+FRtib7XYrD
a=ice-ufrag:47bf6ec1
a=ice-pwd:49fc024f
a=candidate:Sc0a80464 1 UDP 1694498815 20.1.13.5 50001 typ srflx raddr 192.168.4.100 rport 50001
a=candidate:Hc0a80464 1 UDP 2130706431 192.168.4.100 50001 typ host
a=candidate:R14010c17 1 UDP 16777215 20.1.12.23 63220 typ relay raddr 20.1.13.5 rport 50039
a=candidate:Sc0a80464 2 UDP 1694498814 20.1.13.5 50008 typ srflx raddr 192.168.4.100 rport 50008


Then, Brekeke modifies(removes last candidate) and sends the broken packet to the other endpoint.

Sent INVITE message from Brekeke log file:
==============================================
tls-con.2: debug: send: to=20.1.50.102:41879 at 11/09/17 10:20:44.087
==============================================
INVITE sip:5049@20.1.50.102:41879;transport=TLS;ob SIP/2.0
Via: SIP/2.0/TLS 20.1.12.121:5061;rport;branch=z9hG4bK4414fbf0c212-30-186ca4
Via: SIP/2.0/TLS 20.1.13.5:46143;rport=46143;branch=z9hG4bKPjlBzbVKZ9tqm6MCQQruPV6t90k.0fTzMw;alias
Max-Forwards: 69
From: <sip:5045@20.1.12.121>;tag=pgsVWEDADJnv0an9fWA92xKUmzxI-QMr
To: <sip:5049@20.1.12.121>
Contact: <sip:5045@20.1.12.121:5061;ob;transport=tls>;+sip.ice
Call-ID: XGYkuVEwtRY14ID5opMD1LZ9EM3OGYBo
CSeq: 10590 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, norefersub
User-Agent: xxx
Proxy-Authorization: Digest username="5045", realm="xxx", nonce="8bd03e047b0fc4517f0a2dffb430513e818a84c9", uri="sip:5049@20.1.12.121:5061;transport=tls", response="f3cbf416e1f50e0252f11dcf9de832e2", algorithm=MD5
Record-Route: <sip:20.1.12.121:5061;transport=tls;ftag=pgsVWEDADJnv0an9fWA92xKUmzxI-QMr;lr>
Content-Type: application/sdp
Content-Length: 1075

v=0
o=- 3509996738 3509996738 IN IP4 20.1.12.23
s=pjmedia
b=AS:84
t=0 0
a=X-nat:3
m=audio 63220 RTP/AVP 0 3 8 18 96
c=IN IP4 20.1.12.23
b=TIAS:64000
a=rtcp:52423 IN IP4 20.1.12.23
a=sendrecv
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexa=no
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:5Ys+WGyxIkFWXcYJgAwFL538mmfE1ZDnhLJ/aGe9xQbLQxu++F6hzO9rsSEVFg==
a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:+yV2s5K2ulEDHzXbncXkkLv4jYDeeMDtB/7vJK9/mi1wK0rPqcy7crCSWdkMsA==
a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:fbU1OMKcNxuBaSlyyYvzEaxa8tMrT6L3DTnuEgwd
a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:K/UcKs1G/HUeiybCboYI7fULT4T5M+FRtib7XYrD
a=ice-ufrag:47bf6ec1
a=ice-pwd:49fc024f
a=candidate:Sc0a80464 1 UDP 1694498815 20.1.13.5 50001 typ srflx raddr 192.168.4.100 rport 50001
a=candidate:Hc0a80464 1 UDP 2130706431 192.168.4.100 50001 typ host
a=candidate:R14010c17 1 UDP 16777215 20.1.12.23 63220 typ relay raddr 20.1.13.5 rport 50039


Is this a bug or I am doing something wrong?

Thanks
lakeview
Posts: 319
Joined: Thu Nov 15, 2007 11:54 am
Location: Florida

Post by lakeview »

Hi loop,

Add the line below in the [Configuration]->[Advanced] page, and restart the Brekeke SIP Server.

Code: Select all

net.sip.packet.reader = false
The developer fixed this bug already so upgrading the SIP Server to the latest version will also fix the issue.
http://www.brekeke.com/downloads/sip-server.php
loop
Posts: 8
Joined: Thu Nov 09, 2017 1:23 am

Post by loop »

Upgraded to the latest version and it works.
Thanks
Post Reply