Java 类android.net.sip.SipAudioCall 实例源码

项目:Phony-Android    文件:PhonyConnection.java   
@Override
public void onCallEstablished(SipAudioCall call) {
    Log.d(TAG, "onCallEstablished: called.");

    call.startAudio();

    if (call.isMuted()) {
        call.toggleMute();
    }

    PhonyConnection.this.setActive();
}
项目:SIPDemo    文件:WalkieTalkieActivity.java   
/**
 * Updates the status box with the SIP address of the current mSipAudioCall.
 *
 * @param call The current, active mSipAudioCall.
 */
public void updateStatus(SipAudioCall call) {
    String useName = call.getPeerProfile().getDisplayName();
    if (useName == null) {
        useName = call.getPeerProfile().getUserName();
    }
    updateStatus(useName + "@" + call.getPeerProfile().getSipDomain());
}
项目:Phony-Android    文件:PhonyConnection.java   
@Override
public void onCallEnded(SipAudioCall call) {
    Log.d(TAG, "onCallEnded: called.");

    PhonyConnection.this.setDisconnected(new DisconnectCause(DisconnectCause.REMOTE));

    PhonyConnection.this.destroy();
}
项目:Phony-Android    文件:PhonyConnection.java   
public PhonyConnection(SipAudioCall sipCall) throws SipException {
    Log.d(TAG, "PhonyConnection: called.");

    setInitializing();
    setAudioModeIsVoip(true);
    setConnectionCapabilities(CAPABILITY_MUTE);

    mSipCall = sipCall;
    mSipCall.setListener(mSipListener);
}
项目:Phony-Android    文件:PhonyConnectionService.java   
@Override
public Connection onCreateIncomingConnection(PhoneAccountHandle connectionManagerPhoneAccount, ConnectionRequest request) {
    Log.d(TAG, "onCreateIncomingConnection: called.");

    if (request.getExtras() == null) {
        return Connection.createFailedConnection(new DisconnectCause(DisconnectCause.ERROR, "No extras on request."));
    }

    Intent sipIntent = request.getExtras().getParcelable(EXTRA_INCOMING_CALL_INTENT);
    if (sipIntent == null) {
        return Connection.createFailedConnection(new DisconnectCause(DisconnectCause.ERROR, "No SIP intent."));
    }

    try {
        SipAudioCall audioCall = PhonySipUtil.getSipManager(this).takeAudioCall(sipIntent, null);

        PhonyConnection connection = new PhonyConnection(audioCall);

        connection.setAddress(Uri.parse(audioCall.getPeerProfile().getUriString()), TelecomManager.PRESENTATION_ALLOWED);
        connection.setInitialized();

        return connection;
    } catch (SipException e) {
        e.printStackTrace();
        return Connection.createFailedConnection(new DisconnectCause(DisconnectCause.ERROR, "SipExecption", "Check the stack trace for more information.", e.getLocalizedMessage()));
    }
}
项目:Phony-Android    文件:PhonyConnectionService.java   
@Override
public Connection onCreateOutgoingConnection(PhoneAccountHandle connectionManagerPhoneAccount, ConnectionRequest request) {
    Log.d(TAG, "onCreateOutgoingConnection: called.");

    try {
        SipAudioCall audioCall = PhonySipUtil.getSipManager(this).makeAudioCall(connectionManagerPhoneAccount.getId(), Uri.decode(request.getAddress().toString()), null, PhonySipUtil.EXPIRY_TIME);

        PhonyConnection connection = new PhonyConnection(audioCall);

        connection.setAddress(request.getAddress(), TelecomManager.PRESENTATION_ALLOWED);
        connection.setInitialized();

        return connection;
    } catch (SipException e) {
        e.printStackTrace();
        return Connection.createFailedConnection(new DisconnectCause(DisconnectCause.ERROR, "SipExecption", "Check the stack trace for more information.", e.getLocalizedMessage()));
    }
}
项目:ArtHook    文件:MyActivity.java   
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        try {
            SipAudioCall call = new SipAudioCall(this, null);
            call.startAudio();
        } catch (Exception e) {
            Log.w(TAG, e);
        }
        return true;
    }
    return super.onOptionsItemSelected(item);
}
项目:AndroidSIP    文件:MainActivity.java   
public void updateStatus(SipAudioCall call) {
    String useName = call.getPeerProfile().getDisplayName();
    if (useName == null) {
        useName = call.getPeerProfile().getUserName();
    }
    updateStatus(useName + "@" + call.getPeerProfile().getSipDomain());
}
项目:africastalking-android    文件:CallInfo.java   
CallInfo(SipAudioCall call) {
    this(call.getPeerProfile().getUriString());
}
项目:ArtHook    文件:MyApplication.java   
@Hook("android.net.sip.SipAudioCall->startAudio")
public static void SipAudioCall_startAudio(SipAudioCall call) {
    Log.d(TAG, "SipAudioCall_startAudio");
    OriginalMethod.by(new $() {}).invoke(call);
}
项目:AndroidSIP    文件:MainActivity.java   
@Override
public void onCallEstablished(SipAudioCall call) {
    call.startAudio();
    call.setSpeakerMode(true);
    call.toggleMute();
}
项目:AndroidSIP    文件:MainActivity.java   
@Override
public void onCallEnded(SipAudioCall call) {
    super.onCallEnded(call);
    updateStatus(STATE_CONNECTED);
}
项目:AndroidSIP    文件:MainActivity.java   
@Override
public void onCalling(SipAudioCall call) {
    if (!call.isMuted())
        call.toggleMute();
    updateStatus(STATE_CALLING + " " + call.getPeerProfile().getUserName());
}