3

私はElastixサーバーを持っています.Elastixサーバーは、デスクトップ通話アプリとZoiperアプリで通話目的に完全に使用されています. ただし、Android SIP を使用している自分のアプリは正常に動作せず、実際の問題を特定できません。プロファイル登録を呼び出すたびに失敗し、REGISTRATION NOT RUNNING のエラー メッセージがログに表示されます。

ここに私のコードスニペットがあります:

public void InitializeProfile()
    {
        if (mSipManager == null)
        {
            return;
        }

        if (mSipProfile != null){
            closeLocalProfile();
        }

        SipProfile.Builder builder = null;
        try {
            builder = new SipProfile.Builder(Username, Domain);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        builder.setPassword(Password);
        mSipProfile = builder.build();

        Intent intent = new Intent();
        intent.setAction("android.SipDemo.INCOMING_CALL");
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, Intent.FILL_IN_DATA);
        try {
            mSipManager.open(mSipProfile, pendingIntent, null);

        } catch (SipException e) {
            Log.i("open", e.toString());
            e.printStackTrace();
        }




        try {
            mSipManager.setRegistrationListener(mSipProfile.getUriString(), new SipRegistrationListener() {

                public void onRegistering(String localProfileUri) {
                   // updateStatus("Registering with SIP Server...");
                    Log.i("helloworld", "Registering with SIP Server...");

                }


                public void onRegistrationDone(String localProfileUri, long expiryTime) {
                   // updateStatus("Ready");
                    Log.i("helloworld", "Ready");
                }


                public void onRegistrationFailed(String localProfileUri, int errorCode, String errorMessage) {
                   // updateStatus("Registration failed.  Please check settings.");
                    Log.i("helloworld", "Registration failed.  Please check settings."+ errorMessage+ " " + Integer.toString(errorCode));
                }
            });
        } catch (SipException e) {
            e.printStackTrace();
        }

    }
4

0 に答える 0