I am trying to write an application that contacts a JME application using a sip MESSAGE and could use some pointers. I have a Servlet running in SailFin from which I want to send the message to the phone. My application works fine using the Nokia emulator (S60 3rd ed fp1) and using that I can see the SIP message arriving in the JME application, but I do not get anything using a real device. I do know that the phone is connected to my network ok because I can make HTTP requests from the phone to the server successfully, just nothing using SIP. The device I am testing with is a Nokia N95.

My servlet code for sending the MESSAGE is something like:
SipFactory sf = (SipFactory) ctx.getAttribute(SipServlet.SIP_FACTORY)
SipApplicationSession as = sf.createApplicationSession();
Address to = sf.createAddress(contact);
Address from = sf.createAddress(FROM_STRING);
SipServletRequest sipReq = sf.createRequest(as, "MESSAGE", from, to);
sipReq.setContent(message, "text/plain");

In this example contact is: "sip:sip1@" where is the IP address of the phone on my network.

I have also tried creating a SIPServlet and sending a REGISTER message from the phone to it. Again, this worked well on the emulator but on the phone I got an error when trying to initialise the request - see my reply to the following for more info: http://discussion.forum.nokia.com/fo...d.php?t=126760

My main questions are:
What development environment should I be using to develop a Java/JME application that uses SIP on a real phone? What have people used successfully? I have found lots of general information about SIP architecture and lots of detailed information about real deployments but nothing that has helped me to set up a simple development/test environment.
Perhaps it should work with the environment I have already, in which case I can provide more information on exactly what I am doing. Any help would be appreciated.