As you know , S60 phones only support shared port mode (all SIP software runs on port 5060)

I wrote a J2ME program that sends sip messages to another phone , using a "MESSAGE"
Code:
       try { scn = (SipConnectionNotifier) Connector.open("sip:*;type=\"application/" + connectionAppID + '"');
        } catch (IOException ex) { chatBox.insert("MIDlet: exception " + ex.getMessage(), chatBox.size()); }

        while (true) {
            try {
                // block and wait for incoming request.
                // SipServerConnection is established and returned
                // when a new request is received.
                ssc = scn.acceptAndOpen();
        
                if (ssc.getMethod().equals("MESSAGE")) {
                    String contentType = ssc.getHeader("Content-Type");

                    if ((contentType != null) && contentType.equals("text/plain")) {
                        InputStream is = ssc.openContentInputStream();
                        int bytesRead;
                        String msg = new String("");

                        while ((bytesRead = is.read(buffer)) != -1) {
                            msg += new String(buffer, 0, bytesRead);
                        }

                        chatBox.insert("\n :\n" + msg +"\n", chatBox.size());
                    }

                    // initialize SIP 200 OK and send it back
                    ssc.initResponse(200);
                    ssc.send();
                    chatBox.insert("\nResponse 200 sent...\n", chatBox.size());
                }

            } catch (Exception ex) {
                // IOException
                // InterruptedIOException
                // SecurityException
                // SipException
                chatBox.insert("MIDlet: exception " + ex.getMessage(), chatBox.size());
            }
        } 
    }
thing is , this works perfectly on an emulator
when I try to run it on the E71 it just throws and IOException on the sending side , using this code :
Code:
            try {
                sc = (SipClientConnection) Connector.open("sip:" + connectionAddress + ";type=\"application/dnl.indie.siptext\"");

                sc.setListener(this);
                sc.initRequest("MESSAGE", null);
                sc.setHeader("Accept-Contact", "*;type=\"application/" + connectionAppID+"\"");
                sc.setHeader("From", "sip:" + connectionAddress);
                sc.setHeader("Content-Type", "text/plain");
                sc.setHeader("Content-Length", Integer.toString(message.length()));
                
                OutputStream os = sc.openContentOutputStream();
                os.write(message.getBytes());

                try{sc.send();}
                catch(SipException sipex){
                    chatBox.insert("\nMIDLet SIP exception while streaming data \n " +
                            "Sip error code :" + sipex.getErrorCode() +
                            "\n Sip message :" + sipex.getMessage()
                            ,chatBox.size());}
                catch(IOException ioex){
                            chatBox.insert("\nMIDLet IO exception while streaming SIP data \n " +
                            "\n Error message :" + ioex.getMessage()
                            ,chatBox.size());
                }
                
                chatBox.insert("\n You : \n\t" + message + "\n",chatBox.size());
                display.setCurrent(chatBox);
            } catch (IllegalArgumentException iae) {
                Alert alert = new Alert("Error");
                alert.setType(AlertType.ERROR);
                alert.setTimeout(3000); // display the alert for 3 secs
                alert.setString("Some of the submitted data is invalid.\n" +
                    "Please enter valid information.");
                display.setCurrent(alert);
            } catch (Exception ex) {
                Alert alert = new Alert("Error");
                alert.setType(AlertType.ERROR);
                alert.setTimeout(3000); // display the alert for 3 secs
                alert.setString("An error occured sending data");
                display.setCurrent(alert);
                chatBox.insert("MIDlet: exception " + ex.getMessage() + "\n\n", chatBox.size());
                ex.printStackTrace();
                display.setCurrent(chatBox);
            }
        }
I set the Accept-Contact header .. I set the "type" in the URI .. whats missing !?
what else am I supposed to set for SIP communication to get where it's supposed to ?

Thank you for your time,
Danny B.