[sip-comm-dev] A bug report for answering a call


#1

Hi, DEAR guys:

when sip-communicator answer a call, the following exception thrown.

Cause:

In CallProcessing.processInvite(…),

after: String calleeUser = ( (SipURI) calleeURI).getUser();

then: calleeUser=null, and go to the next statement:

if (!calleeUser.equals(localUser) && assertUserMatch)

an nullpoienter exception thrown!

1462843 [EventScannerThread] TRACE sip.SipManager - [entry] getLocalUser
1462843 [EventScannerThread] TRACE sip.SipManager - [entry] getFromHeader
1462843 [EventScannerThread] TRACE sip.SipManager - [exit] getFromHeader
1462843 [EventScannerThread] TRACE sip.SipManager - [exit] getLocalUser
1462843 [EventScannerThread] DEBUG common.PropertiesDepot - getProperty[net.jav
a.sip.communicator.sip.FAIL_CALLS_ON_DEST_USER_MISMATCH=false]
1462843 [EventScannerThread] TRACE sip.CallProcessing - [exit] processInvite
1462843 [EventScannerThread] TRACE sip.SipManager - [exit] processRequest
java.lang.NullPointerException
at net.java.sip.communicator.sip.CallProcessing.processInvite(CallProces
sing.java:384)
at net.java.sip.communicator.sip.SipManager.processRequest(SipManager.ja
va:1531)
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:204)
at gov.nist.javax.sip.EventScanner.run(EventScanner.java:352)
at java.lang.Thread.run(Unknown Source)

Paul

···

Express yourself instantly with MSN Messenger! MSN Messenger Download today it’s FREE!

To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hi, let’s fix it:

How to Fix:

SipManager.getContactHeader(…) returns Contact header as:

Contact: “Laptop” sip:192.168.221.56:5060;transport=udp

In RFC3261, it should be:

Contact: “Laptop” sip:xxxxx@192.168.221.56:5060;transport=udp

so fixing should be:

In SipManager.getContactHeader(boolean):

// Paul: a bug, caller number from net.java.sip.communicator.sip.USER_NAME should should be put here instead of null
String uName = Utils.getProperty(
“net.java.sip.communicator.sip.USER_NAME”);
contactURI = (SipURI) addressFactory.createSipURI(uName,
publicIpAddress.getAddress().getHostAddress());

instead of:
// contactURI = (SipURI) addressFactory.createSipURI(null,
// publicIpAddress.getAddress().getHostAddress());

Thank for you to confirm and check in to CVS.

Another big problem that I am experiencing as:

Everyhing is ok to use sip-communicator at the two endpoints by Asterisk as PBX----definitely, everything properly set with JMF and environment.

However, once x-lite soft phone is used at one of 2 endpoints, whatever I debug, investigate, test…, sometimes, ONLY x-lite can hear; sometimes ONLY sip-communicator can hear!

Everything seems working properly from sip-communicator console output and log file. When I use ethereal to trace the voice port, ONLY one-way RTP stream can be caught.----- OH, my god, I have taken over 2 weeks to try to tackle the glitch, but failed !

Evironment: UA at XP, J2SDK 1.5

You are appreciated for any of your helps! ---- LET’S WORK TOGETHER TO IMPROVE SIP-COMMUNICATOR!!!

Thanks !

Paul

···

Express yourself instantly with MSN Messenger! MSN Messenger Download today it’s FREE!