2015-06-24 2 views
2

Я хочу сделать SIP-вызов с Android. Я знаю, что соединение в порядке. Я тестировал его в X-Lite. Но createSipSession() не выполняется. Это ошибка:Ошибка: «Не удалось создать SipSession, сеть недоступна», когда я хочу начать новый сеанс SIP в Android

Failed to create SipSession; network unavailable?

Это мой код:

public SipManager mSipManager = null; 
public SipProfile mSipProfile = null; 
public SipAudioCall mCall = null; 


public void onbtnLoginClicked(View v) { 

    // Create SIP Manager 
    if (mSipManager == null) { 
     mSipManager = SipManager.newInstance(this); 
    } 

    // Find EditText controls 
    EditText txtId = (EditText) findViewById(R.id.txtId); 
    EditText txtUsername = (EditText) findViewById(R.id.txtUsername); 
    EditText txtPassword = (EditText) findViewById(R.id.txtPassword); 
    TextView lblError = (TextView) findViewById(R.id.lblError); 

    lblError.setText("No Errors Yet"); 

    String id = txtId.getText().toString(); 
    String username = txtUsername.getText().toString(); 
    String password = txtPassword.getText().toString(); 

    try { 

     SipProfile.Builder builder = new SipProfile.Builder(username,id); 
     SipProfile.Builder builder = new SipProfile.Builder("sip:[email protected]"); 
     builder.setPassword(password); 
     mSipProfile = builder.build(); 
    } catch (java.text.ParseException e) { 
     e.printStackTrace(); 
    } 
} 

public void onbtnCallClicked(View v) { 

    TextView lblError = (TextView) findViewById(R.id.lblError); 
    lblError.setText("No Errors Yet"); 

    try { 
     mCall = mSipManager.makeAudioCall(mSipProfile.getUriString(),"sip:[email protected]",null,20); 
     SipAudioCall.Listener mCallListener = new SipAudioCall.Listener(); // <---Error 
    } 
    catch (SipException e) { 
     Log.e("SipService", e.getMessage()); 
     lblError.setText(e.getMessage()); 
    } 

} 

ответ

0

В моем случае решение изменял глотнуть счет, потому что она не поддерживает мою страну, а во-вторых, я добавил " время сна "сразу после входа (10 секунд, но это может быть 5).

Thread.sleep(10000); 
Смежные вопросы