Brekeke Forum Index » Brekeke SIP Server Forum

Post new topic   Reply to topic
603 Decline/Invalid SDP message in call log
Author Message
jjjumper
Brekeke Newbie


Joined: 24 Jun 2010
Posts: 4
Location: Florida

PostPosted: Thu Jun 24, 2010 11:57 am    Post subject: 603 Decline/Invalid SDP message in call log Reply with quote

1. Brekeke Product Name and version: SIP Server Standard 2.4.4.8/286

2. Java version: 1.6.0_20

3. OS type and the version: Windows 2008 Server SP1 (64-bit)

4. UA (phone), gateway or other hardware/software involved:
Cisco ASA firewall
Microsoft OCS 2007 Speech Server

5. Select your network pattern from http://www.brekeke-sip.com/bbs/network/networkpatterns.html : 8

6. Your problem:
We use the Brekeke SIP Server to translate incoming UDP calls into TCP for our Speech Server in what is a very simple setup. The Brekeke server is installed on the same machine as the Speech Server and our firewall handles translating the NAT addresses for us so it appears to Brekeke that all calls are internal. 99% of the calls go to the same SIP URI--our main application on the Speech Server. We also use X-Lite to call the same dial plan internally for support and testing. We have 4 clients passing us an average of about 1000 calls total per day with no problems.

Now we're adding a new client and they're getting a 603 DECLINE message on every call attempt. They are using the same infrastructure to call the same URI with the same dialplan as the other clients. The Administration Tool's call log says "Invalid SDP".

Sample call log CSV line:
25000, sip:<blah>@clientdomain.com, sip:7001@10.0.1.5:5070, 00:00:00, Thu Jun 24 11:55:51 EDT 2010, , Thu Jun 24 11:55:51 EDT 2010, Invalid SDP, 603

To validate that the SDP was actually a problem, we had the client make a test call against the old OpenSIPS solution we used before switching to Brekeke and it worked correctly. So the SDP is probably fine on the INVITE. I would have thought Brekeke would ignore the SDP anyway since I have RTP relay set to auto and RTP replay (UA on this machine) set to off. (B2B-UA mode is also off.)

This is the Dial Plan we're using for the application:

Matching Patterns
$request = ^INVITE
To = sip:7001@
Deploy Patterns
To = sip:7001@10.0.1.5:5070
$transport = TCP

Note: The Speech Server is configured to answer extension 7001 on TCP port 5070 since Brekeke runs on port 5060 on the same machine. Brekeke is configured to not require incoming calls to register or authenticate.

When the INVITE comes in, Brekeke sends a 100 Trying message and then 0.05 seconds later it sends the 603 Decline. From what I can tell it's not even attempting to contact the Speech Server.

And finally, the client's SDP (modified for the machine name in the o line and the IP address in the c line, but the 249 content-length was correct in the original packet):
Content-Type: application/sdp
Content-Length: 249

v=0
o=- 480453 480453 IN IP4 machine.on.clientdomain.com
s=media server session
t=0 0
m=audio 25738 RTP/AVP 0 101
c=IN IP4 63.XXX.XXX.XXX
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15,32,36
a=sendrecv


Can anyone suggest something to try?

Thanks!
--Jeff
Back to top
View user's profile
jjjumper
Brekeke Newbie


Joined: 24 Jun 2010
Posts: 4
Location: Florida

PostPosted: Fri Jun 25, 2010 11:18 am    Post subject: Reply with quote

Update:

I upgraded a test server to the latest version - 2.4.5.5 Standard - but it is still getting the same problem.

Comparing the SDP on the 603'd calls, to SDP samples from other clients that are working, it looks like the client with the problem is sending us a machine name on the o line that isn't in DNS.

On the RTP page, I have port mapping set to "Source Port" rather than "SDP", so I would think that BSS would ignore the o line.

Is it possible to replace that machine name on the o line in the SDP with the source IP address by using the Dial Plan?

Also: apparently there is some sort of logging feature in BSS but I can't seem to figure out how to turn that on to get more detail about what might be causing the "Invalid SDP".
Back to top
View user's profile
jjjumper
Brekeke Newbie


Joined: 24 Jun 2010
Posts: 4
Location: Florida

PostPosted: Fri Jun 25, 2010 1:48 pm    Post subject: Reply with quote

I found a log file on the server from sv that had the following:

Exception: java.net.UnknownHostException: machine.on.clientdomain.com

The hostname in the exception was from the o= line of the SDP. The problem is that the client is using their internal machine name and it isn't available in the public DNS.

Is it possible to tell Brekeke to ignore translating that hostname? Or perhaps allow me to replace it with the (correct and publicly accessible) IP address from the c= line?
Back to top
View user's profile
hope
Brekeke Master Guru


Joined: 15 Jan 2008
Posts: 862

PostPosted: Mon Jun 28, 2010 4:32 pm    Post subject: Reply with quote

define correct ip address in "hosts" file on machine.on.clientdomain.com pc
Back to top
View user's profile
jjjumper
Brekeke Newbie


Joined: 24 Jun 2010
Posts: 4
Location: Florida

PostPosted: Tue Jun 29, 2010 5:29 am    Post subject: Reply with quote

Thanks for reading and making a suggestion. I'm working on setting that up as a temporary workaround.

In the long-term though I'm going to need a more permanent solution.

The client has more than one internal machine and since their network is under their own control and they could add or remove machines at any time with different names only known to them, I would have to constantly maintain the hosts file by adding new machine names as they are found.

What I really need is a way to look in the SDP for something like:

(.*)\.company\.com

and replace that with the IP address that's found in the c= line.

Or more simply, I need BSS to ignore this error, not mark the SDP as invalid and just pass it along without touching it.

So the more permanent solution would be either:

1) Ignore the SDP. Don't even check to see if it's valid. Just pass it along.
or
2) Allow me to search & replace in the SDP before determining that it is invalid.

(btw: I am also working with the client here to see if they can fix this on their side so that they actually send us valid SDP...but they're big and slow moving and it's going to take them a while to implement any change.)
Back to top
View user's profile
james
Brekeke Master Guru


Joined: 10 Dec 2007
Posts: 498

PostPosted: Thu Jul 01, 2010 1:34 pm    Post subject: Reply with quote

I want to know what kind of SIP UA they are using..

anyway..
You don't need RTP relay. Right?
If so, add the following at [Configuration] > [Advanced] page and restart the server.
net.nat.force=false


>> Also: apparently there is some sort of logging feature in BSS but I can't seem to figure out how to turn that on to get more detail ...

Add this at [Advanced] page.
net.sip.loglevel.file=255
Back to top
View user's profile
lakeview
Brekeke Master Guru


Joined: 15 Nov 2007
Posts: 319
Location: Florida

PostPosted: Thu Oct 21, 2010 7:14 pm    Post subject: Reply with quote

Hi Jeff,

The issue "UnknownHostException" will not happen with the latest version of Brekeke SIP Server.

Try it.
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    Brekeke Forum Index » Brekeke SIP Server Forum All times are GMT - 7 Hours
Page 1 of 1