Android net.sip: manager.makeAudioCall (..) wirft sip Session Fehler

Ich versuche, einen Anruf mit Sip auf Android zu etablieren. Die Berechtigungen in meinem Manifest sind:

<uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.USE_SIP"/> <uses-permission android:name="android.permission.INTERNET"/> 

Die CALL_PHONE-Berechtigung ist da, weil meine App auch regelmäßige Nummern anruft.
Dies ist der Aktivitätscode:

 package xxx; import java.text.ParseException; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.net.sip.SipAudioCall; import android.net.sip.SipException; import android.net.sip.SipManager; import android.net.sip.SipProfile; import android.os.Bundle; import android.util.Log; public class CallScreen extends Activity{ public SipManager manager = null; public SipProfile me = null; public SipAudioCall call = null; //IncomingCallReceiver callReceiver; String domain = "myserver.net"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.callscreen); initManager(); Log.d("Z:","Done initManger()"); Thread waiter = new Thread(){ @Override public void run() { // TODO Auto-generated method stub try { sleep(10000); Log.d("Z:","Done waiting"); initCall(); Log.d("Z:","Done initCall"); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; waiter.start(); //initCall(); } public void initManager() { manager = SipManager.newInstance(this); initLocalProfile(); } public void initLocalProfile() { String username = "user"; String password = "12345"; String domain = "myserver.net"; try { SipProfile.Builder builder = new SipProfile.Builder(username,domain); builder.setPassword(password); me = builder.build(); //Intent intent = new Intent(); //PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, Intent.FILL_IN_DATA); //manager.open(me,pi,null); manager.open(me); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SipException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void initCall() { SipAudioCall.Listener listener = new SipAudioCall.Listener(){ @Override public void onCallEstablished(SipAudioCall call) { // TODO Auto-generated method stub //super.onCallEstablished(call); call.startAudio(); call.setSpeakerMode(true); call.toggleMute(); } @Override public void onCallEnded(SipAudioCall call) { // TODO Auto-generated method stub super.onCallEnded(call); } }; try { call = manager.makeAudioCall(me.getUriString(), "12345678910", listener, 30); } catch (SipException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 

Der Fehler auf Logcat:

 01-26 22:20:25.710: D/SipAudioCall(31060): sip session error: CLIENT_ERROR: libcore.io.ErrnoException: getaddrinfo failed: ENOENT (No such file or directory) 

Ich versuche, dieses kleine Beispiel zu machen, bevor ich diesen Code ein wenig anders organisiere (Benutzername und pass nicht hartcodiert, zum Beispiel). Ich bin auch nicht sehr familier mit Schluck. Wirklich irgendwelche Ratschläge aussprechen
irgendwelche Ideen? Vielen Dank!

  • Sip Fehler bei der Registrierung
  • Android-Videoanrufe mit Android Slip
  • Android NDK: load_library: kann nicht gefunden werden srand
  • SipRegistrationListener Callbacks werden nicht gefeuert
  • Wie implementiere ich die VOIP Anwendung mit android.net.rtp Paket
  • Android SIP Stack - was zu verwenden?
  • Wie integriere ich SIP in Android?
  • Android SIP-Registrierung fehlgeschlagen (-9 IN_PROGRESS)
  • One Solution collect form web for “Android net.sip: manager.makeAudioCall (..) wirft sip Session Fehler”

    Das Problem ist auf der folgenden Zeile:

     call = manager.makeAudioCall(me.getUriString(), "12345678910", listener, 30); 

    Der zweite Parameter der makeAudioCall Methode muss the URI of the SIP profile to make the call to , aber Sie haben nur seinen Benutzernamen (dh: "12345678910") angegeben. Ändern Sie es zu etwas wie:

     call = manager.makeAudioCall(me.getUriString(), "sip:12345678910@myserver.net", listener, 30); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.