twilio / video-quickstart-android

Twilio Video Quickstart for Android
MIT License
213 stars 160 forks source link

Video connectivity issue #434

Closed ZahidRamzan closed 5 years ago

ZahidRamzan commented 5 years ago

Description

[I'm facing issues in video connection of participants in many sonerios

  1. Both participants are in background and come in foreground at the same time.
  2. Sometimes perhaps due to slow internet connection. "onVideoTrackSubscribed" and "onVideoTrackPublished" doest called.
  3. Many of the times both local and remote video tracks are there but video is not connected.
  4. One participant on background other on forground.

A little bit low internet causes the video connection lost.

Note: In all above sonerios audio is connected to both participants, its means they are connected in room but "Video" has some issue.
]

Steps to Reproduce

  1. Go to background form both devices
  2. Come at the same time in foreground.
  3. Other issue occur randomly.

    Code

// Code that help reproduce the issue

package com.quartrly.android.Twilio;

import android.Manifest; import android.annotation.SuppressLint; import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraManager; import android.media.AudioAttributes; import android.media.AudioFocusRequest; import android.media.AudioManager; import android.media.RingtoneManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.CountDownTimer; import android.os.Handler; import android.preference.PreferenceManager; import android.text.Html; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.WindowManager; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast;

import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import androidx.core.app.NotificationCompat; import androidx.core.content.ContextCompat;

import com.android.volley.Request; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; import com.quartrly.android.FireBase.MyFirebaseMessagingService; import com.quartrly.android.R; import com.quartrly.android.activity.HomeActivity; import com.quartrly.android.constants.ApiUrl; import com.quartrly.android.constants.Constants; import com.quartrly.android.dialoge.CommenDialog; import com.quartrly.android.handler.CommentResponseApiHanlder; import com.quartrly.android.interfaces.CallEndWithNotificationListener; import com.quartrly.android.interfaces.CommentResponseListener; import com.quartrly.android.interfaces.InterFaceHandler; import com.quartrly.android.interfaces.LocalCallListener; import com.quartrly.android.interfaces.MyEventListner; import com.quartrly.android.interfaces.NetworkStateListener; import com.quartrly.android.model.CommentResponse; import com.quartrly.android.model.MyCustomApplication; import com.quartrly.android.recievers.CallReceiverNew; import com.quartrly.android.recievers.ConnectionStateReceiver; import com.quartrly.android.utils.CameraCapturerCompat; import com.quartrly.android.utils.ScreenshotDetectionActivity; import com.quartrly.android.utils.SocketEventHandler; import com.quartrly.android.utils.Utils; import com.quartrly.android.utils.WakeLocker; import com.suke.widget.SwitchButton; import com.twilio.video.AudioCodec; import com.twilio.video.CameraCapturer; import com.twilio.video.CameraCapturer.CameraSource; import com.twilio.video.CameraParameterUpdater; import com.twilio.video.ConnectOptions; import com.twilio.video.EncodingParameters; import com.twilio.video.G722Codec; import com.twilio.video.H264Codec; import com.twilio.video.IsacCodec; import com.twilio.video.LocalAudioTrack; import com.twilio.video.LocalParticipant; import com.twilio.video.LocalVideoTrack; import com.twilio.video.LogLevel; import com.twilio.video.OpusCodec; import com.twilio.video.PcmaCodec; import com.twilio.video.PcmuCodec; import com.twilio.video.RemoteAudioTrack; import com.twilio.video.RemoteAudioTrackPublication; import com.twilio.video.RemoteDataTrack; import com.twilio.video.RemoteDataTrackPublication; import com.twilio.video.RemoteParticipant; import com.twilio.video.RemoteVideoTrack; import com.twilio.video.RemoteVideoTrackPublication; import com.twilio.video.Room; import com.twilio.video.RoomState; import com.twilio.video.TwilioException; import com.twilio.video.Video; import com.twilio.video.VideoCodec; import com.twilio.video.VideoRenderer; import com.twilio.video.VideoTrack; import com.twilio.video.VideoView; import com.twilio.video.Vp8Codec; import com.twilio.video.Vp9Codec;

import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;

import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; import java.util.Timer; import java.util.TimerTask;

import io.socket.client.Ack; import io.socket.emitter.Emitter;

import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;

public class VideoActivity extends ScreenshotDetectionActivity implements MyEventListner, CallEndWithNotificationListener, LocalCallListener, NetworkStateListener { private static final int CAMERA_MIC_PERMISSION_REQUEST_CODE = 1; private static final String TAG = "Video_Call";

private static final String LOCAL_AUDIO_TRACK_NAME = "mic";
private static final String LOCAL_VIDEO_TRACK_NAME = "camera";
float dX, dY;
private Room room;
private LocalParticipant localParticipant;
private AudioCodec audioCodec;
private VideoCodec videoCodec;
private EncodingParameters encodingParameters;
private VideoView primaryVideoView;
private VideoView thumbnailVideoView;

ConnectionStateReceiver connectionStateReceiver;
IntentFilter connectionStateIntentFilter;

RelativeLayout parentView;
private SharedPreferences preferences;

private SwitchButton switch_flashlight;

private CameraCapturerCompat cameraCapturerCompat;
private LocalAudioTrack localAudioTrack;
private RemoteAudioTrack remoteAudioTrackMain;
private RemoteVideoTrackPublication remoteVideoTrackMain;
private LocalVideoTrack localVideoTrack;
private FloatingActionButton connectActionFab, localVideoActionFab;
private ImageView switchCameraActionFab, muteActionFab;
private AudioManager audioManager;

RelativeLayout layout_view_count_down, layout_view_info;
FrameLayout internetView;
TextView txt_count_down, upper_txt_count_down, txtCounter, txtInfo, txt_audio, txt_internet;

private String remoteParticipantIdentity, timerText, otherUserName, otherUserId, call_rate, temAppointmentID;

private int previousAudioMode;
private boolean previousMicrophoneMute;
boolean isFirstText = true;
private VideoRenderer localVideoView;
private boolean disconnectedFromOnDestroy, flashOn = false;
Timer timerNew, timerFloatingText;

final Handler myHandler = new Handler();
final Handler myAlertHandler = new Handler();
private Handler mWaitHandler = new Handler();
CommenDialog callLeave;
// for screen shots
private Bitmap bitmap;
long callTime = 0, callTimeNew = 0;
int remainingSeconds = Constants.REMAINING_SECONDS_FOR_CALL * 1000;
private boolean isPause, isOnCall;
private MusicIntentReceiver myReceiver;
boolean isStatusDone = false, isNetworkDoOff = false, isVideoConnected;
String time, screen;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_video);
    Constants.isMyHaveCallToReconnect = false;
    WakeLocker.acquire(this);

    time = Utils.getCurrLocalDateTime();
    screen = "VideoActivity";

    initView();

    Video.setLogLevel(LogLevel.ALL);

    setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
    audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    myReceiver = new MusicIntentReceiver();

    if (!checkPermissionForCameraAndMicrophone()) {
        requestPermissionForCameraAndMicrophone();
    } else {
        createAudioAndVideoTracks();
    }

    if (audioManager != null) {
        audioManager.setSpeakerphoneOn(true);
        audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
    }

    intializeUI();
    screenFit();
    startCallTimer();

// Timer for floating text if (Constants.IS_REFRESHED) { internetView.setVisibility(View.VISIBLE); txt_internet.setText("Reconnecting...");

    } else {
        startFloatingText();

    }
    checkOtherUserStatus();

    //        Clear notifications from tray , so that won't affect call

    NotificationManager notificationManager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
    if (notificationManager != null) {
        notificationManager.cancelAll();
    }

}

private void initView() {

    Utils.showLoger("Video Activity.");
    InterFaceHandler.setNetworkStateListener(this);
    connectionStateReceiver = new ConnectionStateReceiver();
    connectionStateIntentFilter = new IntentFilter();
    connectionStateIntentFilter.addAction(CONNECTIVITY_ACTION);
    SocketEventHandler.UpdateAvibality(VideoActivity.this, 0);
    preferences = PreferenceManager.getDefaultSharedPreferences(this);
    if (MyCustomApplication.appSocket != null) {
        MyCustomApplication.appSocket.on("otheruserdisconnected", otheruserdisconnected);
        MyCustomApplication.appSocket.on("callcompleted", callcompleted);
        MyCustomApplication.appSocket.on("appointmentcallrejected", appointmentcallrejected);
        MyCustomApplication.appSocket.on("videopausedbyotheruser", videopausedbyotheruser);
        MyCustomApplication.appSocket.on("videostoppedbyotheruser", videostoppedbyotheruser);
        MyCustomApplication.appSocket.on("screenshottakennewbyotheruser", screenshottakennewbyotheruser);
        MyCustomApplication.appSocket.on("appointmentstatus", appointmentstatus);
    }

    CallReceiverNew.onLocalCallDetected(this);
    MyFirebaseMessagingService.setNotificationArrivalListener(this);
    CommenDialog.setSetListner(this);

    switch_flashlight = findViewById(R.id.switch_flashlight);
    parentView = findViewById(R.id.parentView);
    primaryVideoView = findViewById(R.id.primary_video_view);
    thumbnailVideoView = findViewById(R.id.thumbnail_video_view);

    internetView = findViewById(R.id.internetView);
    layout_view_info = findViewById(R.id.layout_view_info);
    txtInfo = findViewById(R.id.txtInfo);

    connectActionFab = findViewById(R.id.connect_action_fab);
    switchCameraActionFab = findViewById(R.id.switch_camera_action_fab);
    localVideoActionFab = findViewById(R.id.local_video_action_fab);
    muteActionFab = findViewById(R.id.mute_action_fab);

    layout_view_count_down = findViewById(R.id.layout_view_count_down);
    txt_audio = findViewById(R.id.txt_audio);
    txt_internet = findViewById(R.id.txt_internet);
    txt_count_down = findViewById(R.id.txt_count_down);
    upper_txt_count_down = findViewById(R.id.upper_txt_count_down);
    txtCounter = findViewById(R.id.txtCounter);

    layout_view_count_down.setClickable(false);
    layout_view_count_down.setEnabled(false);

    Video.setLogLevel(LogLevel.DEBUG);

    disableButtons(true);

    switch_flashlight.setOnCheckedChangeListener(new SwitchButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(SwitchButton switchButton, boolean b) {

            flashOn = b;
            CameraSource cameraSource = cameraCapturerCompat.getCameraSource();

            if (cameraSource == CameraSource.BACK_CAMERA) {
                toggleFlash();
            } else {
                Utils.showToast(VideoActivity.this, "Not supported in front cam.");
            }

        }
    });

    thumbnailVideoView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            switch (motionEvent.getActionMasked()) {

                case MotionEvent.ACTION_DOWN:

                    dX = view.getX() - motionEvent.getRawX();
                    dY = view.getY() - motionEvent.getRawY();
                    break;

                case MotionEvent.ACTION_MOVE:

                    float xAxis = motionEvent.getRawX() + dX;
                    float yAxis = motionEvent.getRawY() + dY;
                    Utils.showLoger(TAG + "xAxis: " + xAxis + "\tgetScreenWidth" + getScreenWidth() + "\tyAxis: " + yAxis + "\tgetScreenHeight" + getScreenHeight());

                    if (xAxis > 0 && xAxis < getScreenWidth() - thumbnailVideoView.getWidth() && yAxis > 0 && yAxis < getScreenHeight() - thumbnailVideoView.getHeight()) {
                        view.animate()
                                .x(motionEvent.getRawX() + dX)
                                .y(motionEvent.getRawY() + dY)
                                .setDuration(0)
                                .start();
                    } else {
                        Utils.showLoger(TAG + "else");
                    }
                    break;
                default:
                    return false;
            }
            return true;
        }
    });

    callTime = Utils.retrieveValuesFromSharedPreferencesLong(this, Constants.KEY_CALL_TIME);
    callTimeNew = Utils.retrieveValuesFromSharedPreferencesLong(this, Constants.KEY_CALL_TIME_NEW);
    call_rate = Utils.retrieveValuesFromSharedPreferences(VideoActivity.this, Constants.CALL_RATE);

    otherUserName = Utils.retrieveValuesFromSharedPreferences(this, Constants.KEY_CAllER_NAME);
    otherUserId = Utils.retrieveValuesFromSharedPreferences(this, Constants.KEY_OTHER_USER_ID);
    temAppointmentID = Utils.retrieveValuesFromSharedPreferences(VideoActivity.this, Constants.KEY_CALL_Appointment_ID);

    checkVideoStatus();

}

// for flashlight

private final CameraParameterUpdater flashToggler = parameters -> {
    if (parameters.getFlashMode() != null) {

        CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);

        if (!flashOn) {

            try {
                Utils.showToast(VideoActivity.this, "flashOn");

                String[] list = manager.getCameraIdList();
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    manager.setTorchMode(list[0], true);
                    parameters.setFlashMode("torch");
                }

            } catch (CameraAccessException e) {
                Utils.showToast(VideoActivity.this, "flashOn: " + e);

                e.printStackTrace();
            }

        } else {

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                try {
                    Utils.showToast(VideoActivity.this, "flashOFF");
                    String cameraId;
                    if (manager != null) {
                        cameraId = manager.getCameraIdList()[0]; // Usually front camera is at 0 position.
                        manager.setTorchMode(cameraId, false);
                        parameters.setFlashMode("off");
                    }
                } catch (CameraAccessException e) {
                    e.printStackTrace();
                    Utils.showToast(VideoActivity.this, "flashOFF: " + e);

                }

            }
        }

// String flashMode = !flashOn ? // Camera.Parameters.FLASH_MODE_OFF : // Camera.Parameters.FLASH_MODE_TORCH; // // parameters.setFlashMode(flashMode);

    } else {
        Toast.makeText(VideoActivity.this,
                "Flash not supported.",
                Toast.LENGTH_LONG).show();
    }
};

private void toggleFlash() {

// CameraParameterUpdater cameraParameterUpdater; // cameraParameterUpdater.apply();

    // Request an update to camera parameters with flash toggler
    cameraCapturerCompat.updateCameraParameters(flashToggler);

}

//

private void startCallTimer() {
    timerNew = new Timer();
    TimerTask t = new TimerTask() {
        @Override
        public void run() {

            remainingSeconds = remainingSeconds - 1000;
            timerText = new SimpleDateFormat("mm:ss").format(new Date(remainingSeconds));
            myHandler.post(myRunnable);

// long currentTime = System.currentTimeMillis(); // Calendar calendar = Calendar.getInstance(); // calendar.setTimeZone(TimeZone.getTimeZone("GMT")); // long now = calendar.getTimeInMillis(); // long diff = callTimeNew - now; // Log.d(TAG, "run: " + "currentTime: " + currentTime + " - callTimeNew: " + callTimeNew + " = time difference: " + diff);

// if (diff == 180000 || diff == 360000 || diff == 540000 || diff == 660000 || diff == 840000) { // // bitmap = ScreenShott.getInstance().takeScreenShotOfRootView(primaryVideoView); // // } } }; timerNew.scheduleAtFixedRate(t, 1000, 1000); }

private void startFloatingText() {
    layout_view_info.setVisibility(View.VISIBLE);
    timerFloatingText = new Timer();
    timerFloatingText.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {

            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    if (isFirstText) {
                        isFirstText = false;

                        String styledText = "<font>As a friendly reminder, the below items are not allowed on your video call. If we detect any of the below, your account will be <font color='#E53030'><b><u> BANNED</u>.</b></font><br/></font>" + "<br/>Nudity<br/>" +
                                "Criminal Behavior<br/>" +
                                "Illegal Activities";
                        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
                            txtInfo.setText(Html.fromHtml(styledText, Html.FROM_HTML_MODE_LEGACY));
                        } else {
                            txtInfo.setText(Html.fromHtml(styledText));
                        }

                    } else {
                        isFirstText = true;
                        String styledText = "We are trying to connect you to " + otherUserName + ".  If " + otherUserName + " is having Internet issues, it may take a few minutes to connect.<br/>  Please be patient.";
                        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
                            txtInfo.setText(Html.fromHtml(styledText, Html.FROM_HTML_MODE_LEGACY));
                        } else {
                            txtInfo.setText(Html.fromHtml(styledText));
                        }
                    }
                }
            });

        }
    }, 0, 15000);
}

final Runnable myRunnable = new Runnable() {
    public void run() {
        txtCounter.setVisibility(View.VISIBLE);
        if (Utils.compareDateTime(timerText, "01:00")) {
            txtCounter.setBackgroundResource(R.drawable.counter_bg);
            switch (timerText) {
                case "12:00":
                    requestRemainingTime();
                    break;
                case "08:00":
                    requestRemainingTime();
                    break;
                case "04:00":
                    requestRemainingTime();
                    break;

            }
        } else {
            if (Utils.compareDateTime(timerText, "00:00")) {
                txtCounter.setBackgroundResource(R.drawable.counter_bg_red);
                switch (timerText) {

                    case "01:00":
                        requestRemainingTime();
                        break;
                    case "00:00":
                        if (!isStatusDone)
                            afterCallCompleted();
                        break;
                }

            } else {
                if (!isStatusDone)
                    afterCallCompleted();
            }
        }
        if (Constants.KEY_APP_CALL_PROG)
            txtCounter.setText(timerText);
    }
};

private void requestRemainingTime() {
    JSONObject jsonObject = new JSONObject();
    try {
        jsonObject.put("appointment_id", temAppointmentID);
        if (MyCustomApplication.appSocket != null) {
            MyCustomApplication.appSocket.emit("getremainingsecondsofcall", jsonObject, new Ack() {
                @Override
                public void call(Object... args) {
                    Utils.showLoger("getremainingsecondsofcall: " + args[0]);

                    Constants.KEY_APP_CALL_PROG = true;
                    Constants.REMAINING_SECONDS_FOR_CALL = (int) args[0];
                    remainingSeconds = (int) args[0] * 1000;
                    Utils.showLoger("remaining_seconds   " + Constants.REMAINING_SECONDS_FOR_CALL);
                    Utils.logsForServer(time, screen, "remaining_seconds   " + Constants.REMAINING_SECONDS_FOR_CALL);
                }
            });
        }

    } catch (JSONException e) {
        e.printStackTrace();
    }

}

final Runnable notificationScreenEnd = new Runnable() {
    public void run() {
        if (!isFinishing()) {
            showPopup(otherUserName + " Unavailable", "Unfortunately, " + otherUserName + " is unavailable.  The amount of $" + call_rate + " will still be credited to your account.", 1);
        }
    }
};

private void showNotificationCallEndedPopup() {
    myAlertHandler.post(notificationScreenEnd);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_video_activity, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case R.id.menu_settings:
            startActivity(new Intent(this, SettingsActivity.class));
            return true;
        case R.id.speaker_menu_item:
            if (audioManager.isSpeakerphoneOn()) {
                audioManager.setSpeakerphoneOn(false);
                item.setIcon(R.drawable.ic_phonelink_ring_white_24dp);
            } else {
                audioManager.setSpeakerphoneOn(true);
                item.setIcon(R.drawable.ic_volume_up_white_24dp);
            }
            return true;
        default:
            return false;
    }
}

@Override
public void onRequestPermissionsResult(int requestCode,
                                       @NonNull String[] permissions,
                                       @NonNull int[] grantResults) {
    if (requestCode == CAMERA_MIC_PERMISSION_REQUEST_CODE) {
        boolean cameraAndMicPermissionGranted = true;

        for (int grantResult : grantResults) {
            cameraAndMicPermissionGranted &= grantResult == PackageManager.PERMISSION_GRANTED;
        }

        if (cameraAndMicPermissionGranted) {
            createAudioAndVideoTracks();
        } else {
            Toast.makeText(this,
                    R.string.permissions_needed,
                    Toast.LENGTH_LONG).show();
        }
    }
}

@Override
protected void onPause() {
    isPause = true;
    unregisterReceiver(myReceiver);
    unregisterReceiver(connectionStateReceiver);
    Utils.showLoger("onPause...");
    clearTracks();
    if (!isOnCall)
        videoPaused(false);
    super.onPause();
}

private void clearTracks() {

    if (localVideoTrack != null && localParticipant != null) {
        for (int i = 0; i < localParticipant.getLocalVideoTracks().size(); i++) {
            for (int j = 0; j < localVideoTrack.getRenderers().size(); j++) {
                localVideoTrack.removeRenderer(localVideoTrack.getRenderers().get(j));
            }
            localParticipant.unpublishTrack(localVideoTrack);
        }
        if (localVideoTrack.isEnabled()) {
            localVideoTrack.release();
            localVideoTrack = null;
        }
    }

}

@Override
protected void onResume() {
    isPause = false;
    Utils.showLoger("onResume...");
    super.onResume();
    IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
    registerReceiver(myReceiver, filter);

// registerReceiver(new PhoneUnlockedReceiver(), new IntentFilter("android.intent.action.USER_PRESENT")); registerReceiver(connectionStateReceiver, connectionStateIntentFilter); if (!isOnCall) { updateData(); } }

private void hideInfoLayout() {
    if (timerFloatingText != null) {
        timerFloatingText.cancel();
    }
    layout_view_info.setVisibility(View.GONE);
    disableButtons(false);
}

private void updateData() {

    Utils.showLoger("updateData");
    try {
        /*
         * Update preferred audio and video codec in case changed in settings
         */
        audioCodec = getAudioCodecPreference(SettingsActivity.PREF_AUDIO_CODEC,
                SettingsActivity.PREF_AUDIO_CODEC_DEFAULT);
        videoCodec = getVideoCodecPreference(SettingsActivity.PREF_VIDEO_CODEC,
                SettingsActivity.PREF_VIDEO_CODEC_DEFAULT);

        /*
         * Get latest encoding parameters
         */
        final EncodingParameters newEncodingParameters = getEncodingParameters();

        /*
         * If the local video track was released when the app was put in the background, recreate.
         */
        if (localVideoTrack == null && checkPermissionForCameraAndMicrophone()) {
            localVideoTrack = LocalVideoTrack.create(this,
                    true,
                    cameraCapturerCompat.getVideoCapturer(),
                    LOCAL_VIDEO_TRACK_NAME);
            localVideoTrack.addRenderer(localVideoView);

            /*
             * If connected to a Room then share the local video track.
             */

            if (localParticipant != null) {
                localParticipant.publishTrack(localVideoTrack);

                /*
                 * Update encoding parameters if they have changed.
                 */
                if (!newEncodingParameters.equals(encodingParameters)) {
                    localParticipant.setEncodingParameters(newEncodingParameters);
                }
            }

        }

        /*
         * Update encoding parameters
         */
        encodingParameters = newEncodingParameters;

    } catch (Exception e) {
        e.printStackTrace();
    }
}

@Override
protected void onStop() {
    Utils.showLoger1("onStop...");
    super.onStop();
}

private void uploadLogs() {
    Utils.showLoger("serverLogs.size()" + Utils.serverLogs.size());
    Utils.logsForServer(time, screen, "uploadLogs:");

    if (Utils.serverLogs != null && Utils.serverLogs.size() > 0) {
        JSONObject jsonObject = new JSONObject();
        try {
            JSONArray myjsonarray = new JSONArray(Utils.serverLogs.toArray());
            jsonObject.put("mac", Constants.KEY_MAC);
            jsonObject.put("log", myjsonarray);
        } catch (JSONException e) {
            e.printStackTrace();
        }

        CommentResponseApiHanlder.setcommentResponse(new CommentResponseListener() {
            @Override
            public void onCommentResponseListener(CommentResponse commentResponse) {

                if (commentResponse.getStatus().equals(Constants.SERVER_RESPONSE_CODE_SUCCESS)) {

// Utils.serverLogs.clear(); }

            }
        });

        String url;

        if (Utils.retrieveValuesFromSharedPreferences(VideoActivity.this, Constants.USERTOKEN).isEmpty()) {
            url = ApiUrl.API_LOGS_PRE_LOGIN;
        } else {
            url = ApiUrl.API_LOGS;
        }

        CommentResponseApiHanlder.commenResponse(VideoActivity.this, jsonObject, url, Request.Method.POST);

    }

}

@Override
protected void onDestroy() {
    Utils.showLoger1("Video onDestroy...");
    videoStopped();
    if (timerNew != null) {
        timerNew.cancel();
    }
    if (timerFloatingText != null) {
        timerFloatingText.cancel();
    }
    /*
     * Always disconnect from the room before leaving the Activity to
     * ensure any memory allocated to the Room resource is freed.
     */
    if (room != null && room.getState() != RoomState.DISCONNECTED) { //RoomState.DISCONNECTED
        room.disconnect();
        disconnectedFromOnDestroy = true;
    }

    /*
     * Release the local audio and video tracks ensuring any memory allocated to audio
     * or video is freed.
     */
    if (localAudioTrack != null) {
        localAudioTrack.enable(false);
        localAudioTrack.release();
        localAudioTrack = null;
    }
    if (localVideoTrack != null) {
        localVideoTrack.release();
        localVideoTrack = null;
    }
    if (MyCustomApplication.appSocket != null) {
        MyCustomApplication.appSocket.off("appointmentcallconnected");
    }
    super.onDestroy();

    if (Utils.retrieveValuesFromSharedPreferences(VideoActivity.this, Constants.KEY_ALLOW_LOGS).equals("true"))
        uploadLogs();
}

private boolean checkPermissionForCameraAndMicrophone() {
    int resultCamera = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA);
    int resultMic = ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO);
    return resultCamera == PackageManager.PERMISSION_GRANTED &&
            resultMic == PackageManager.PERMISSION_GRANTED;
}

private void requestPermissionForCameraAndMicrophone() {
    if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA) ||
            ActivityCompat.shouldShowRequestPermissionRationale(this,
                    Manifest.permission.RECORD_AUDIO)) {
        Toast.makeText(this,
                R.string.permissions_needed,
                Toast.LENGTH_LONG).show();
    } else {
        ActivityCompat.requestPermissions(
                this,
                new String[]{Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO},
                CAMERA_MIC_PERMISSION_REQUEST_CODE);
    }
}

private void createAudioAndVideoTracks() {

    Utils.showLoger1("createAudioAndVideoTracks...");
    Utils.logsForServer(time, screen, "createAudioAndVideoTracks...");

    // Share your microphone
    localAudioTrack = LocalAudioTrack.create(this, true, LOCAL_AUDIO_TRACK_NAME);

    // Share your camera
    cameraCapturerCompat = new CameraCapturerCompat(this, getAvailableCameraSource());
    localVideoTrack = LocalVideoTrack.create(this,
            true,
            cameraCapturerCompat.getVideoCapturer(),
            LOCAL_VIDEO_TRACK_NAME);
    primaryVideoView.setMirror(true);
    localVideoTrack.addRenderer(primaryVideoView);
    localVideoView = primaryVideoView;
    startTimeCallDelay();
}

private CameraSource getAvailableCameraSource() {
    return (CameraCapturer.isSourceAvailable(CameraSource.FRONT_CAMERA)) ?
            (CameraSource.FRONT_CAMERA) :
            (CameraSource.BACK_CAMERA);
}

private void connectToRoom() {
    Utils.showLoger1("connectToRoom  TWILIO_ACCESS_TOKEN " + Constants.TWILIO_ACCESS_TOKEN);
    Utils.showLoger1("connectToRoom  TWILIO_ACCESS_ROOM " + Constants.TWILIO_ACCESS_ROOM);
    Utils.logsForServer(time, screen, "connectToRoom  TWILIO_ACCESS_TOKEN " + Constants.TWILIO_ACCESS_TOKEN);
    Utils.logsForServer(time, screen, "connectToRoom  TWILIO_ACCESS_ROOM " + Constants.TWILIO_ACCESS_ROOM);

    if (Constants.TWILIO_ACCESS_TOKEN != null && Constants.TWILIO_ACCESS_ROOM != null &&
            !Constants.TWILIO_ACCESS_TOKEN.isEmpty() && !Constants.TWILIO_ACCESS_ROOM.isEmpty()) {
        configureAudio(true);
        ConnectOptions.Builder connectOptionsBuilder = new ConnectOptions.Builder(Constants.TWILIO_ACCESS_TOKEN).roomName(Constants.TWILIO_ACCESS_ROOM);

        /*
         * Add local audio track to connect options to share with participants.
         */
        if (localAudioTrack != null) {
            connectOptionsBuilder
                    .audioTracks(Collections.singletonList(localAudioTrack));
        }

        /*
         * Add local video track to connect options to share with participants.
         */
        if (localVideoTrack != null) {
            connectOptionsBuilder.videoTracks(Collections.singletonList(localVideoTrack));
        }

        /*
         * Set the preferred audio and video codec for media.
         */
        connectOptionsBuilder.preferAudioCodecs(Collections.singletonList(audioCodec));
        connectOptionsBuilder.preferVideoCodecs(Collections.singletonList(videoCodec));

        /*
         * Set the sender side encoding parameters.
         */
        connectOptionsBuilder.encodingParameters(encodingParameters);
        room = Video.connect(this, connectOptionsBuilder.build(), roomListener());
    }

}

/*
 * The initial state when there is no active room.
 */
@SuppressLint("ClickableViewAccessibility")
private void intializeUI() {

// switchCameraActionFab.show(); switchCameraActionFab.setOnClickListener(switchCameraClickListener()); localVideoActionFab.show(); localVideoActionFab.setOnClickListener(localVideoClickListener()); // muteActionFab.show(); muteActionFab.setOnClickListener(muteClickListener());

}

public int getScreenWidth() {
    return Resources.getSystem().getDisplayMetrics().widthPixels;
}

// Method to Get the total Height of Screen
public int getScreenHeight() {
    return Resources.getSystem().getDisplayMetrics().heightPixels;
}

/*
 * Get the preferred audio codec from shared preferences
 */
private com.twilio.video.AudioCodec getAudioCodecPreference(String key, String defaultValue) {
    final String audioCodecName = preferences.getString(key, defaultValue);

    switch (audioCodecName) {
        case IsacCodec.NAME:
            return new IsacCodec();
        case OpusCodec.NAME:
            return new OpusCodec();
        case PcmaCodec.NAME:
            return new PcmaCodec();
        case PcmuCodec.NAME:
            return new PcmuCodec();
        case G722Codec.NAME:
            return new G722Codec();
        default:
            return new OpusCodec();
    }
}

/*
 * Get the preferred video codec from shared preferences
 */
private VideoCodec getVideoCodecPreference(String key, String defaultValue) {
    final String videoCodecName = preferences.getString(key, defaultValue);

    switch (videoCodecName) {
        case Vp8Codec.NAME:
            return new Vp8Codec();
        case H264Codec.NAME:
            return new H264Codec();
        case Vp9Codec.NAME:
            return new Vp9Codec();
        default:
            return new Vp8Codec();
    }
}

private EncodingParameters getEncodingParameters() {
    final int maxAudioBitrate = Integer.parseInt(
            preferences.getString(SettingsActivity.PREF_SENDER_MAX_AUDIO_BITRATE,
                    SettingsActivity.PREF_SENDER_MAX_AUDIO_BITRATE_DEFAULT));
    final int maxVideoBitrate = Integer.parseInt(
            preferences.getString(SettingsActivity.PREF_SENDER_MAX_VIDEO_BITRATE,
                    SettingsActivity.PREF_SENDER_MAX_VIDEO_BITRATE_DEFAULT));

    return new EncodingParameters(maxAudioBitrate, maxVideoBitrate);
}

/*
 * Called when remote participant joins the room
 */
private void addRemoteParticipant(RemoteParticipant remoteParticipant) {
    Utils.showLoger1(TAG + " addRemoteParticipant ");
    Utils.logsForServer(time, screen, "addRemoteParticipant");

    /*
     * This app only displays video for one additional participant per Room
     */
    if (thumbnailVideoView.getVisibility() == View.VISIBLE) {
        Snackbar.make(connectActionFab,
                "Multiple participants are not currently support in this UI",
                Snackbar.LENGTH_LONG)
                .setAction("Action", null).show();
        return;
    }
    remoteParticipantIdentity = remoteParticipant.getIdentity();

    if (remoteParticipant.getRemoteVideoTracks().size() > 0) {
        RemoteVideoTrackPublication remoteVideoTrackPublication = remoteParticipant.getRemoteVideoTracks().get(0);

        if (remoteVideoTrackPublication != null && remoteVideoTrackPublication.isTrackSubscribed()) {
            if (remoteVideoTrackPublication.getRemoteVideoTrack() != null) {
                addRemoteParticipantVideo(remoteVideoTrackPublication.getRemoteVideoTrack());
            }
        }
    }

    remoteParticipant.setListener(remoteParticipantListener());
}

private void addRemoteParticipantVideo(VideoTrack videoTrack) {
    Utils.showLoger1(TAG + " addRemoteParticipantVideo ");
    Utils.logsForServer(time, screen, "addRemoteParticipantVideo");

    moveLocalVideoToThumbnailView();
    primaryVideoView.setMirror(false);
    videoTrack.addRenderer(primaryVideoView);
}

private void moveLocalVideoToThumbnailView() {
    Utils.showLoger1("moveLocalVideoToThumbnailView");

    if (thumbnailVideoView.getVisibility() == View.GONE) {
        thumbnailVideoView.setVisibility(View.GONE);
        if (localVideoTrack == null) {
            localVideoTrack = LocalVideoTrack.create(this,
                    true,
                    cameraCapturerCompat.getVideoCapturer(),
                    LOCAL_VIDEO_TRACK_NAME);
        }
        localVideoTrack.removeRenderer(primaryVideoView);
        localVideoTrack.addRenderer(thumbnailVideoView);

        localVideoView = thumbnailVideoView;
        thumbnailVideoView.setMirror(cameraCapturerCompat.getCameraSource() ==
                CameraSource.FRONT_CAMERA);
        mWaitHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                thumbnailVideoView.setVisibility(View.VISIBLE);
            }
        }, 8000);
    }
}

private void removeRemoteParticipant(RemoteParticipant remoteParticipant) {

    if (!remoteParticipant.getIdentity().equals(remoteParticipantIdentity)) {
        return;
    }

    /*
     * Remove remote participant renderer
     */
    if (!remoteParticipant.getRemoteVideoTracks().isEmpty()) {
        RemoteVideoTrackPublication remoteVideoTrackPublication = remoteParticipant.getRemoteVideoTracks().get(0);

        /*
         * Remove video only if subscribed to participant track
         */
        if (remoteVideoTrackPublication.isTrackSubscribed()) {
            removeParticipantVideo(remoteVideoTrackPublication.getRemoteVideoTrack());
        }
    }
    moveLocalVideoToPrimaryView();

    Utils.showLoger1("onParticipantDisconnected From Call :)");
    Utils.logsForServer(time, screen, "onParticipantDisconnected From Call :)");

}

private void removeParticipantVideo(VideoTrack videoTrack) {
    videoTrack.removeRenderer(primaryVideoView);

}

private void moveLocalVideoToPrimaryView() {
    Utils.showLoger1("moveLocalVideoToPrimaryView");
    if (thumbnailVideoView.getVisibility() == View.VISIBLE) {
        thumbnailVideoView.setVisibility(View.GONE);

        if (localVideoTrack != null) {
            localVideoTrack.removeRenderer(thumbnailVideoView);
            localVideoTrack.addRenderer(primaryVideoView);
            localVideoView = primaryVideoView;
            primaryVideoView.setMirror(cameraCapturerCompat.getCameraSource() ==
                    CameraSource.FRONT_CAMERA);
        }
    }
}

/*
 * Room events listener
 */
private Room.Listener roomListener() {
    return new Room.Listener() {
        @Override
        public void onConnected(Room room) {
            Utils.showLoger1(TAG + " onConnected ");
            Utils.logsForServer(time, screen, "roomListener onConnected");

            localParticipant = room.getLocalParticipant();
            setTitle(room.getName());
            for (RemoteParticipant remoteParticipant : room.getRemoteParticipants()) {
                addRemoteParticipant(remoteParticipant);
                break;
            }
        }

        @Override
        public void onConnectFailure(Room room, TwilioException e) {
            Utils.showLoger1(TAG + " onConnectFailure " + e.getMessage());
            Utils.logsForServer(time, screen, "roomListener onConnectFailure");

            configureAudio(false);
            intializeUI();
        }

        @Override
        public void onDisconnected(Room room, TwilioException e) {
            Utils.showLoger1(TAG + " onDisconnected ");
            Utils.logsForServer(time, screen, "roomListener onDisconnected");

            localParticipant = null;
            VideoActivity.this.room = null;
            if (!disconnectedFromOnDestroy) {
                configureAudio(false);
                intializeUI();
                moveLocalVideoToPrimaryView();
            }
        }

        @Override
        public void onParticipantConnected(Room room, RemoteParticipant remoteParticipant) {
            Utils.showLoger1("onParticipantConnected ");
            Utils.logsForServer(time, screen, "onParticipantConnected");

            addRemoteParticipant(remoteParticipant);

        }

        @Override
        public void onParticipantDisconnected(Room room, RemoteParticipant remoteParticipant) {
            Utils.showLoger1("onParticipantDisconnected ");
            Utils.logsForServer(time, screen, "onParticipantDisconnected");

            removeRemoteParticipant(remoteParticipant);
        }

        @Override
        public void onRecordingStarted(Room room) {
            Utils.showLoger1("onRecordingStarted..");
            Utils.logsForServer(time, screen, "onRecordingStarted");

        }

        @Override
        public void onRecordingStopped(Room room) {
            Utils.showLoger1("onRecordingStopped");
            Utils.logsForServer(time, screen, "onRecordingStopped");

        }
    };
}

private RemoteParticipant.Listener remoteParticipantListener() {
    return new RemoteParticipant.Listener() {
        @Override
        public void onAudioTrackPublished(RemoteParticipant remoteParticipant,
                                          RemoteAudioTrackPublication remoteAudioTrackPublication) {
            Utils.logsForServer(time, screen, "onAudioTrackPublished");

            Utils.showLoger1(String.format("onAudioTrackPublished: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteAudioTrackPublication: sid=%s, enabled=%b, " +
                            "subscribed=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteAudioTrackPublication.getTrackSid(),
                    remoteAudioTrackPublication.isTrackEnabled(),
                    remoteAudioTrackPublication.isTrackSubscribed(),
                    remoteAudioTrackPublication.getTrackName()));
        }

        @Override
        public void onAudioTrackUnpublished(RemoteParticipant remoteParticipant,
                                            RemoteAudioTrackPublication remoteAudioTrackPublication) {
            Utils.logsForServer(time, screen, "onAudioTrackUnpublished");

            Utils.showLoger1(String.format("onAudioTrackUnpublished: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteAudioTrackPublication: sid=%s, enabled=%b, " +
                            "subscribed=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteAudioTrackPublication.getTrackSid(),
                    remoteAudioTrackPublication.isTrackEnabled(),
                    remoteAudioTrackPublication.isTrackSubscribed(),
                    remoteAudioTrackPublication.getTrackName()));

        }

        @Override
        public void onDataTrackPublished(RemoteParticipant remoteParticipant,
                                         RemoteDataTrackPublication remoteDataTrackPublication) {
            Utils.showLoger1(String.format("onDataTrackPublished: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteDataTrackPublication: sid=%s, enabled=%b, " +
                            "subscribed=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteDataTrackPublication.getTrackSid(),
                    remoteDataTrackPublication.isTrackEnabled(),
                    remoteDataTrackPublication.isTrackSubscribed(),
                    remoteDataTrackPublication.getTrackName()));

        }

        @Override
        public void onDataTrackUnpublished(RemoteParticipant remoteParticipant,
                                           RemoteDataTrackPublication remoteDataTrackPublication) {
            Utils.showLoger1(String.format("onDataTrackUnpublished: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteDataTrackPublication: sid=%s, enabled=%b, " +
                            "subscribed=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteDataTrackPublication.getTrackSid(),
                    remoteDataTrackPublication.isTrackEnabled(),
                    remoteDataTrackPublication.isTrackSubscribed(),
                    remoteDataTrackPublication.getTrackName()));
        }

        @Override
        public void onVideoTrackPublished(RemoteParticipant remoteParticipant,
                                          RemoteVideoTrackPublication remoteVideoTrackPublication) {

            Utils.logsForServer(time, screen, "onVideoTrackPublished");

            Utils.showLoger1(String.format("onVideoTrackPublished: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteVideoTrackPublication: sid=%s, enabled=%b, " +
                            "subscribed=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteVideoTrackPublication.getTrackSid(),
                    remoteVideoTrackPublication.isTrackEnabled(),
                    remoteVideoTrackPublication.isTrackSubscribed(),
                    remoteVideoTrackPublication.getTrackName()));
            hideInfoLayout();
        }

        @Override
        public void onVideoTrackUnpublished(RemoteParticipant remoteParticipant,
                                            RemoteVideoTrackPublication remoteVideoTrackPublication) {

            Utils.logsForServer(time, screen, "onVideoTrackUnpublished");

            Utils.showLoger1(String.format("onVideoTrackUnpublished: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteVideoTrackPublication: sid=%s, enabled=%b, " +
                            "subscribed=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteVideoTrackPublication.getTrackSid(),
                    remoteVideoTrackPublication.isTrackEnabled(),
                    remoteVideoTrackPublication.isTrackSubscribed(),
                    remoteVideoTrackPublication.getTrackName()));
        }

        @Override
        public void onAudioTrackSubscribed(RemoteParticipant remoteParticipant,
                                           RemoteAudioTrackPublication remoteAudioTrackPublication,
                                           RemoteAudioTrack remoteAudioTrack) {

            Utils.logsForServer(time, screen, "onAudioTrackSubscribed");

            remoteAudioTrackMain = remoteAudioTrack;
            Utils.showLoger1(String.format("onAudioTrackSubscribed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteAudioTrack: enabled=%b, playbackEnabled=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteAudioTrack.isEnabled(),
                    remoteAudioTrack.isPlaybackEnabled(),
                    remoteAudioTrack.getName()));

            updateData();

            if (remoteAudioTrack.isEnabled()) {
                txt_audio.setVisibility(View.GONE);
            } else {
                txt_audio.setVisibility(View.VISIBLE);
                txt_audio.setText(otherUserName + " muted audio.");
            }
        }

        @Override
        public void onAudioTrackUnsubscribed(RemoteParticipant remoteParticipant,
                                             RemoteAudioTrackPublication remoteAudioTrackPublication,
                                             RemoteAudioTrack remoteAudioTrack) {

            Utils.logsForServer(time, screen, "onAudioTrackUnsubscribed");

            remoteAudioTrackMain = remoteAudioTrack;

            Utils.showLoger1(String.format("onAudioTrackUnsubscribed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteAudioTrack: enabled=%b, playbackEnabled=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteAudioTrack.isEnabled(),
                    remoteAudioTrack.isPlaybackEnabled(),
                    remoteAudioTrack.getName()));

        }

        @Override
        public void onAudioTrackSubscriptionFailed(RemoteParticipant remoteParticipant,
                                                   RemoteAudioTrackPublication remoteAudioTrackPublication,
                                                   TwilioException twilioException) {
            Utils.showLoger1(String.format("onAudioTrackSubscriptionFailed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteAudioTrackPublication: sid=%b, name=%s]" +
                            "[TwilioException: code=%d, message=%s]",
                    remoteParticipant.getIdentity(),
                    remoteAudioTrackPublication.getTrackSid(),
                    remoteAudioTrackPublication.getTrackName(),
                    twilioException.getCode(),
                    twilioException.getMessage()));
        }

        @Override
        public void onDataTrackSubscribed(RemoteParticipant remoteParticipant,
                                          RemoteDataTrackPublication remoteDataTrackPublication,
                                          RemoteDataTrack remoteDataTrack) {

            Utils.logsForServer(time, screen, "onDataTrackSubscribed");

            Utils.showLoger1(String.format("onDataTrackSubscribed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteDataTrack: enabled=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteDataTrack.isEnabled(),
                    remoteDataTrack.getName()));
            Utils.showLoger1("onDataTrackSubscribed");
        }

        @Override
        public void onDataTrackUnsubscribed(RemoteParticipant remoteParticipant,
                                            RemoteDataTrackPublication remoteDataTrackPublication,
                                            RemoteDataTrack remoteDataTrack) {

            Utils.logsForServer(time, screen, "onDataTrackUnsubscribed");

            Utils.showLoger1(String.format("onDataTrackUnsubscribed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteDataTrack: enabled=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteDataTrack.isEnabled(),
                    remoteDataTrack.getName()));

        }

        @Override
        public void onDataTrackSubscriptionFailed(RemoteParticipant remoteParticipant,
                                                  RemoteDataTrackPublication remoteDataTrackPublication,
                                                  TwilioException twilioException) {
            Utils.showLoger1(String.format("onDataTrackSubscriptionFailed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteDataTrackPublication: sid=%b, name=%s]" +
                            "[TwilioException: code=%d, message=%s]",
                    remoteParticipant.getIdentity(),
                    remoteDataTrackPublication.getTrackSid(),
                    remoteDataTrackPublication.getTrackName(),
                    twilioException.getCode(),
                    twilioException.getMessage()));
        }

        @Override
        public void onVideoTrackSubscribed(RemoteParticipant remoteParticipant,
                                           RemoteVideoTrackPublication remoteVideoTrackPublication,
                                           RemoteVideoTrack remoteVideoTrack) {

            Utils.logsForServer(time, screen, "onVideoTrackSubscribed");

            if (Constants.IS_REFRESHED) {
                internetView.setVisibility(View.GONE);
                Constants.IS_REFRESHED = false;

            }

            remoteVideoTrackMain = remoteVideoTrackPublication;

            Utils.showLoger1(String.format("onVideoTrackSubscribed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteVideoTrack: enabled=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteVideoTrack.isEnabled(),
                    remoteVideoTrack.getName()));
            addRemoteParticipantVideo(remoteVideoTrack);

            requestRemainingTime();
            Utils.showLoger1("onVideoTrackSubscribed isPause " + isPause);

            hideInfoLayout();

            if (Constants.KEY_IS_COUNTDOWN_ALLOWED) {
                disableButtons(true);
                Constants.KEY_IS_COUNTDOWN_ALLOWED = false;
                layout_view_count_down.setVisibility(View.VISIBLE);
                upper_txt_count_down.setText("We found " + otherUserName + "!\nYour call will begin in:");
                new CountDownTimer(8000, 1000) {

                    public void onTick(long millisUntilFinished) {
                        int sec = (int) millisUntilFinished / 1000;
                        int interval = sec / 2;
                        switch (interval) {
                            case 3:
                                txt_count_down.setText("" + interval);
                                break;
                            case 2:
                                txt_count_down.setText("" + interval);
                                break;
                            case 1:
                                txt_count_down.setText("" + interval);
                                break;
                        }

                    }

                    public void onFinish() {
                        disableButtons(false);
                        layout_view_count_down.setVisibility(View.GONE);

                    }
                }.start();
            }

        }

        @Override
        public void onVideoTrackUnsubscribed(RemoteParticipant remoteParticipant,
                                             RemoteVideoTrackPublication remoteVideoTrackPublication,
                                             RemoteVideoTrack remoteVideoTrack) {

            remoteVideoTrackMain = remoteVideoTrackPublication;

            Utils.logsForServer(time, screen, "onVideoTrackUnsubscribed");

            Utils.showLoger1(String.format("onVideoTrackUnsubscribed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteVideoTrack: enabled=%b, name=%s]",
                    remoteParticipant.getIdentity(),
                    remoteVideoTrack.isEnabled(),
                    remoteVideoTrack.getName()));
            removeParticipantVideo(remoteVideoTrack);

        }

        @Override
        public void onVideoTrackSubscriptionFailed(RemoteParticipant remoteParticipant,
                                                   RemoteVideoTrackPublication remoteVideoTrackPublication,
                                                   TwilioException twilioException) {
            Utils.logsForServer(time, screen, "onVideoTrackSubscriptionFailed");

            Utils.showLoger1(String.format("onVideoTrackSubscriptionFailed: " +
                            "[RemoteParticipant: identity=%s], " +
                            "[RemoteVideoTrackPublication: sid=%b, name=%s]" +
                            "[TwilioException: code=%d, message=%s]",
                    remoteParticipant.getIdentity(),
                    remoteVideoTrackPublication.getTrackSid(),
                    remoteVideoTrackPublication.getTrackName(),
                    twilioException.getCode(),
                    twilioException.getMessage()));
            Snackbar.make(connectActionFab,
                    String.format("Failed to subscribe to %s video track",
                            remoteParticipant.getIdentity()),
                    Snackbar.LENGTH_LONG)
                    .show();
        }

        @Override
        public void onAudioTrackEnabled(RemoteParticipant remoteParticipant,
                                        RemoteAudioTrackPublication remoteAudioTrackPublication) {
            Utils.showLoger1("onAudioTrackEnabled ");
            txt_audio.setVisibility(View.GONE);

        }

        @Override
        public void onAudioTrackDisabled(RemoteParticipant remoteParticipant,
                                         RemoteAudioTrackPublication remoteAudioTrackPublication) {
            Utils.showLoger1("onAudioTrackDisabled");

            txt_audio.setVisibility(View.VISIBLE);
            txt_audio.setText(otherUserName + " muted audio.");

        }

        @Override
        public void onVideoTrackEnabled(RemoteParticipant remoteParticipant,
                                        RemoteVideoTrackPublication remoteVideoTrackPublication) {
            Utils.showLoger1("onVideoTrackEnabled ");
        }

        @Override
        public void onVideoTrackDisabled(RemoteParticipant remoteParticipant,
                                         RemoteVideoTrackPublication remoteVideoTrackPublication) {
            Utils.showLoger1("onVideoTrackDisabled ");
            Toast.makeText(VideoActivity.this, "onVideoTrackDisabled", Toast.LENGTH_SHORT).show();

        }
    };
}

private void disableButtons(boolean b) {

    if (b) {
        switchCameraActionFab.setClickable(false);
        muteActionFab.setClickable(false);
        switchCameraActionFab.setEnabled(false);
        muteActionFab.setEnabled(false);
    } else {
        switchCameraActionFab.setClickable(true);
        muteActionFab.setClickable(true);
        switchCameraActionFab.setEnabled(true);
        muteActionFab.setEnabled(true);
    }
}

private void startTimeCallDelay() {
    Timer timer = new Timer();
    timer.schedule(new TimerTask() {
        public void run() {
            connectToRoom();

        }
    }, 1800);
}

private View.OnClickListener disconnectClickListener() {
    return new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            /*
             * Disconnect from room
             */
            if (room != null) {
                room.disconnect();
            }
            intializeUI();
        }
    };
}

private View.OnClickListener switchCameraClickListener() {
    return new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (cameraCapturerCompat != null) {
                CameraSource cameraSource = cameraCapturerCompat.getCameraSource();
                cameraCapturerCompat.switchCamera();
                if (thumbnailVideoView.getVisibility() == View.VISIBLE) {
                    thumbnailVideoView.setMirror(cameraSource == CameraSource.BACK_CAMERA);
                } else {
                    primaryVideoView.setMirror(cameraSource == CameraSource.BACK_CAMERA);

                }
            }

        }
    };
}

private View.OnClickListener localVideoClickListener() {
    return new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (localVideoTrack != null) {
                boolean enable = !localVideoTrack.isEnabled();
                localVideoTrack.enable(enable);
                int icon;
                if (enable) {
                    icon = R.drawable.ic_videocam_white_24dp;
                } else {
                    icon = R.drawable.ic_videocam_off_black_24dp;
                }
                localVideoActionFab.setImageDrawable(
                        ContextCompat.getDrawable(VideoActivity.this, icon));
            }
        }
    };
}

private View.OnClickListener muteClickListener() {
    return new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (localAudioTrack != null && !isOnCall) {
                boolean enable = !localAudioTrack.isEnabled();
                localAudioTrack.enable(enable);
                int icon = enable ?
                        R.drawable.mic : R.drawable.mute;
                muteActionFab.setImageDrawable(ContextCompat.getDrawable(
                        VideoActivity.this, icon));
            }
        }
    };
}

private void configureAudio(boolean enable) {

    if (audioManager != null) {

        if (enable) {
            previousAudioMode = audioManager.getMode();
            requestAudioFocus();
            audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
            previousMicrophoneMute = audioManager.isMicrophoneMute();
            audioManager.setMicrophoneMute(false);
        } else {
            audioManager.setMode(previousAudioMode);
            audioManager.abandonAudioFocus(null);
            audioManager.setMicrophoneMute(previousMicrophoneMute);
        }
    }
}

private void requestAudioFocus() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        AudioAttributes playbackAttributes = new AudioAttributes.Builder()
                .setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
                .setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
                .build();
        AudioFocusRequest focusRequest =
                new AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT)
                        .setAudioAttributes(playbackAttributes)
                        .setAcceptsDelayedFocusGain(true)
                        .setOnAudioFocusChangeListener(
                                new AudioManager.OnAudioFocusChangeListener() {
                                    @Override
                                    public void onAudioFocusChange(int i) {
                                    }
                                })
                        .build();
        audioManager.requestAudioFocus(focusRequest);
    } else {
        audioManager.requestAudioFocus(null, AudioManager.STREAM_VOICE_CALL,
                AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
    }
}

private void startHomeActivity() {
    isStatusDone = true;
    if (timerNew != null) {
        timerNew.cancel();
    }
    if (timerFloatingText != null) {
        timerFloatingText.cancel();
    }
    Utils.clearAllFragments(VideoActivity.this);
    Intent intent = new Intent(VideoActivity.this, HomeActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(intent);
    finishAffinity();
}

@Override
public void onScreenCaptured(String path) {

    screenCaptured();
}

@Override
public void onScreenCapturedWithDeniedPermission() {
    Utils.showLoger("" + R.string.please_grant_read_external_storage_permission_for_screenshot_detection);
}

private void afterCallDisconnected() {
    isStatusDone = true;
    Constants.KEY_APP_CALL_PROG = false;
    Constants.KEY_IS_CALL_DISCONNECTED = true;
    if (Constants.IsMyStatusOnline) {
        SocketEventHandler.UpdateAvibality(VideoActivity.this, 1);
    } else {
        SocketEventHandler.UpdateAvibality(VideoActivity.this, 0);
    }

    checkNextQuartrAvailable();
    startHomeActivity();
}

private void afterCallCompleted() {
    isStatusDone = true;
    Constants.KEY_APP_CALL_PROG = false;
    Constants.KEY_IS_CALL_ENDED = true;
    if (Constants.IsMyStatusOnline) {
        SocketEventHandler.UpdateAvibality(VideoActivity.this, 1);
    } else {
        SocketEventHandler.UpdateAvibality(VideoActivity.this, 0);
    }
    checkNextQuartrAvailable();

    startHomeActivity();
}

public void showNotification(Context context, String title, String body) {
    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

    int notificationId = 1;
    String channelId = "channel-01";
    String channelName = "Channel Name";
    int importance = 0;
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
        importance = NotificationManager.IMPORTANCE_HIGH;
    }
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
        NotificationChannel mChannel = new NotificationChannel(
                channelId, channelName, importance);
        if (notificationManager != null) {
            notificationManager.createNotificationChannel(mChannel);
        }
    }

    long[] pattern = {500, 500, 500, 500, 500};

    Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context, channelId)
            .setSmallIcon(R.drawable.app_icon_gray)
            .setContentTitle(title)
            .setContentText(body).
                    setAutoCancel(false)
            .setVibrate(pattern)
            .setLights(Color.BLUE, 1, 1)
            .setSound(defaultSoundUri);

    notificationManager.notify(notificationId, mBuilder.build());
}

private void showPopup(String title, String s, int size) {
    callLeave = new CommenDialog(VideoActivity.this, title, s, size, false);
    if (callLeave.getWindow() != null) {
        callLeave.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    }
    if (!isFinishing())
        callLeave.show();
}

@Override
public void onBackPressed() {

}

private void screenCaptured() {
    JSONObject jsonObject = new JSONObject();
    try {
        jsonObject.put("user_id", otherUserId);
        if (MyCustomApplication.appSocket != null) {
            MyCustomApplication.appSocket.emit("screenshottakennew", jsonObject);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

private void videoPaused(boolean isOnCall) {
    Utils.showLoger1("videoPaused isOnCall: " + isOnCall);
    Utils.logsForServer(time, screen, "videoPaused");

    JSONObject jsonObject = new JSONObject();
    try {
        jsonObject.put("oncall", isOnCall);
    } catch (JSONException e) {
        e.printStackTrace();
    }
    try {
        jsonObject.put("user_id", otherUserId);
        if (MyCustomApplication.appSocket != null) {
            MyCustomApplication.appSocket.emit("videopaused", jsonObject, new Ack() {
                @Override
                public void call(Object... args) {

                }
            });
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

private void videoStopped() {
    Utils.logsForServer(time, screen, "videoStopped");

    JSONObject jsonObject = new JSONObject();
    try {
        jsonObject.put("user_id", otherUserId);
        if (MyCustomApplication.appSocket != null) {
            MyCustomApplication.appSocket.emit("videostopped", jsonObject, new Ack() {
                @Override
                public void call(Object... args) {

                }
            });
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

private void checkOtherUserStatus() {
    if (!isStatusDone) {
        Handler handler = new Handler();
        try {

            if (!isNetworkDoOff) {
                if (!Utils.doPing()) {

// Your Internet connection is slow. Please check your WiFi/Cell signal. Utils.showLoger("Internet Bad"); internetView.setVisibility(View.VISIBLE); txt_internet.setText("Your Internet connection is slow. \n Please check your WiFi/Cell signal.."); } else { Utils.showLoger("Internet Good"); internetView.setVisibility(View.GONE); } }

            JSONObject jsonObject = new JSONObject();
            jsonObject.put("appointment_id", temAppointmentID);
            if (MyCustomApplication.appSocket != null) {
                MyCustomApplication.appSocket.emit("getappointmentstatus", jsonObject, new Ack() {
                    @Override
                    public void call(Object... args) {
                        String res = (String) args[0];
                        JSONObject data = null;
                        try {
                            data = new JSONObject(res);
                            Utils.showLoger1("appointmentstatus data " + data.toString());
                            if (data.has("status") && data.getString("status") != null
                                    && (data.getString("status").equalsIgnoreCase("done")
                                    || data.getString("status").equalsIgnoreCase("refunded"))) {
                                afterCallDisconnected();
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                });
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
        handler.postDelayed(new Runnable() {
            public void run() {
                checkOtherUserStatus();
            }

        }, 10000);
    }

}

//.........................Socket Listener received.......................

private Emitter.Listener appointmentstatus = new Emitter.Listener() {
    @Override
    public void call(final Object... args) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                String res = (String) args[0];
                JSONObject data = null;
                try {
                    data = new JSONObject(res);
                    Utils.showLoger1("appointmentstatus data " + data.toString());
                    if (data.has("status") && data.getString("status") != null
                            && data.getString("status").equalsIgnoreCase("done")) {
                        afterCallDisconnected();
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }

            }
        });
    }
};
private Emitter.Listener otheruserdisconnected = new Emitter.Listener() {
    @Override
    public void call(final Object... args) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Utils.showLoger("otheruserdisconnected  ");
                Utils.logsForServer(time, screen, "otheruserdisconnected");

                afterCallDisconnected();
            }
        });
    }
};
private Emitter.Listener callcompleted = new Emitter.Listener() {
    @Override
    public void call(final Object... args) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Utils.showLoger1("callcompleted  ");
                Utils.logsForServer(time, screen, "callcompleted");

                if (!isStatusDone)
                    afterCallCompleted();
            }
        });
    }
};
private Emitter.Listener appointmentcallrejected = new Emitter.Listener() {
    @Override
    public void call(final Object... args) {
        String res = (String) args[0];
        try {
            JSONObject data = new JSONObject(res);
            Utils.showLoger("appointmentcallrejected data " + data.toString());
            Utils.logsForServer(time, screen, "appointmentcallrejected data " + data.toString());

            Constants.KEY_APP_CALL_PROG = false;
            if (data.getInt("attendee") == 1) { // if host
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        String text = "Looks like " + otherUserName + " is not available for the call.";
                        if (!isFinishing())
                            showPopup("Call Rejected", text, 0);
                    }
                });

            } else {  // if attendee
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        String rate = Utils.getFormattedFloatValue(call_rate, true);
                        String text = "Looks like " + otherUserName + " is not available for the call. Your amount of $" + rate + " will be refunded to you.";
                        showPopup("Call Rejected", text, 1);
                    }
                });
            }

        } catch (JSONException e) {
            Utils.showLoger("JSONException  " + e.getMessage());
            Utils.logsForServer(time, screen, "JSONException  " + e.getMessage());

            e.printStackTrace();
        }

        Utils.checkNextQuartrAvailable(VideoActivity.this);

    }
};

private Emitter.Listener videopausedbyotheruser = new Emitter.Listener() {
    @Override
    public void call(Object... args) {
        Utils.showLoger1("videopausedbyotheruser");
        Utils.logsForServer(time, screen, "videopausedbyotheruser");

        String res = (String) args[0];
        try {
            JSONObject data = new JSONObject(res);
            boolean onCall = data.getBoolean("oncall");
            isPause = true;
            final boolean finalOnCall = onCall;
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    layout_view_info.setVisibility(View.VISIBLE);
                    if (finalOnCall) {
                        txtInfo.setText(otherUserName + " has taken a phone call.");
                    } else {
                        txtInfo.setText(otherUserName + " paused video.");
                    }
                }
            });
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
};

private Emitter.Listener screenshottakennewbyotheruser = new Emitter.Listener() {
    @Override
    public void call(Object... args) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                showNotification(VideoActivity.this, "Screenshot Taken", otherUserName + " just took a screenshot.");
            }
        });
    }
};

private Emitter.Listener videostoppedbyotheruser = new Emitter.Listener() {
    @Override
    public void call(Object... args) {
        Utils.showLoger1("videostoppedbyotheruser");
        Utils.logsForServer(time, screen, "videostoppedbyotheruser");

        isPause = false;
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                txt_audio.setVisibility(View.GONE);
                layout_view_info.setVisibility(View.VISIBLE);
                txtInfo.setText("Trying to connect participants... \nPlease stand by.");
            }
        });
    }
};
//===========================================================================================

@Override
public void onEventListner(String key) {
    switch (key) {
        case "Done":
            startHomeActivity();
            break;
    }
}

@Override
public void onNotificationArrived() {
    Utils.showLoger("onNotificationArrived");

    JSONObject jsonObject = new JSONObject();
    if (MyCustomApplication.appSocket != null) {
        MyCustomApplication.appSocket.emit("removefromcall", jsonObject, new Ack() {
            @Override
            public void call(Object... args) {

            }
        });
        checkNextQuartrAvailable();
        showNotificationCallEndedPopup();
    }

}
// later to add in utils class for common use

private void checkNextQuartrAvailable() {
    String Url = ApiUrl.API_CHECK_NEXT_QUARTR;
    JSONObject jsonObject = new JSONObject();
    try {
        jsonObject.put(Constants.NEXT_QUARTR_AVAILABLE, Utils.getNextQuarterNew());
        CommentResponseApiHanlder.setcommentResponse(new CommentResponseListener() {
            @Override
            public void onCommentResponseListener(CommentResponse response) {
                if (response.getStatus().equals(Constants.SERVER_RESPONSE_CODE_SUCCESS)) {
                    Utils.storeValuesInSharedPreferences(VideoActivity.this, Constants.NEXT_QUARTR_AVAILABLE, "true");

                } else {
                    Utils.storeValuesInSharedPreferences(VideoActivity.this, Constants.NEXT_QUARTR_AVAILABLE, "false");
                }

            }
        });

    } catch (JSONException e) {
        e.printStackTrace();
    }
    CommentResponseApiHanlder.commenResponse(VideoActivity.this, jsonObject, Url, Request.Method.POST);
}

@Override
public void onNetworkStateListener(Boolean isNetwork) {
    if (!isNetwork) {
        isNetworkDoOff = true;
        MyCustomApplication.appSocket = null;
        clearTracks();
        txt_internet.setText("Your Internet connection is slow.  Please check your WiFi/Cell signal.");
        internetView.setVisibility(View.VISIBLE);
    } else {
        if (isNetworkDoOff) {
            new Handler().postDelayed(new Runnable() {
                public void run() {
                    internetView.setVisibility(View.GONE);
                    updateData();
                    if (!MyCustomApplication.appSocket.connected())
                        MyCustomApplication.connectTOSocket();
                    startActivity(new Intent(VideoActivity.this, VideoActivity.class));
                    finishAffinity();
                }
            }, 9000);

        }
        isNetworkDoOff = false;

    }
}

private void checkVideoStatus() {

    Utils.showLoger("checkVideoStatus");

    if (room != null && room.getLocalParticipant() != null) {
        Utils.showLoger("roomName: " + room.getName());
        Utils.showLoger("Sid: " + room.getSid());
        Utils.showLoger("roomState: " + room.getState().toString());
        Utils.showLoger("roomRecording: " + room.isRecording());

        Utils.showLoger("---------------Remote Tracks-------------------");
        if (!room.getRemoteParticipants().isEmpty()) {
            Utils.showLoger("remote vTrack: " + room.getRemoteParticipants().get(0).getVideoTracks());
            Utils.showLoger("remote dTrack: " + room.getRemoteParticipants().get(0).getDataTracks());
            Utils.showLoger("remote aTrack: " + room.getRemoteParticipants().get(0).getAudioTracks());
        }

        Utils.showLoger("---------------local Tracks-------------------");
        Utils.showLoger("local vTrack: " + room.getLocalParticipant().getVideoTracks());
        Utils.showLoger("local dTrack: " + room.getLocalParticipant().getDataTracks());
        Utils.showLoger("local dTrack: " + room.getLocalParticipant().getAudioTracks());

        Utils.showLoger("---------------Check-------------------");

        Utils.showLoger("isPause: " + isPause);
        Utils.showLoger("isNetworkDoOff: " + isNetworkDoOff);

// if (room.getLocalParticipant().getVideoTracks().isEmpty() && !isPause && !isNetworkDoOff) { // // Utils.showLoger("localTrackIsEmpty"); // // Constants.IS_REFRESHED = true; // finish(); // startActivity(getIntent()); // // } else if (!room.getRemoteParticipants().isEmpty()) { // // if (room.getRemoteParticipants().get(0).getVideoTracks().isEmpty() && !isPause && !isNetworkDoOff) { // // Utils.showLoger("remoteTrackIsEmpty"); // // Constants.IS_REFRESHED = true; // finish(); // startActivity(getIntent()); // } // }

    }

    new Handler().postDelayed(new Runnable() {
        public void run() {

            checkVideoStatus();

        }
    }, 10000);
}

//========================================================================//
private class MusicIntentReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) {
            int state = intent.getIntExtra("state", -1);
            switch (state) {
                case 0:
                    Utils.showLoger1("Headset is unplugged");
                    if (audioManager != null) {
                        audioManager.setSpeakerphoneOn(true);
                        audioManager.setWiredHeadsetOn(false);
                        audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
                    }
                    break;
                case 1:
                    Utils.showLoger1("Headset is plugged");
                    if (audioManager != null) {
                        audioManager.setSpeakerphoneOn(false);
                        audioManager.setWiredHeadsetOn(true);
                        audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);

                    }
                    break;
                default:
                    Utils.showLoger1("I have no idea what the headset state is");

            }
        }

    }
}

//====================== Local call listener ============================//

@Override
public void onLocalCallReceived(String caseName) {

    IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
    registerReceiver(myReceiver, filter);

    switch (caseName) {
        case "accepted":
            incommingCall();
            break;
        case "received":
            incommingCall();
            break;
        case "ended":
            callEndedOrMissed();
            break;
        case "missed":
            callEndedOrMissed();
            break;
    }
}

// public class PhoneUnlockedReceiver extends BroadcastReceiver { // // @Override // public void onReceive(Context context, Intent intent) { // // KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); // if (keyguardManager.isKeyguardSecure()) { // // Utils.showLoger("Phone Unlocked"); // Utils.showToast(VideoActivity.this, "Phone Unlocked"); // // } // } // }

private void callEndedOrMissed() {
    isOnCall = false;
    clearTracks();
    updateData();
    if (localAudioTrack != null) {
        localAudioTrack.enable(true);

        muteActionFab.setImageDrawable(ContextCompat.getDrawable(
                VideoActivity.this, R.drawable.mic));

        if (remoteAudioTrackMain != null)
            remoteAudioTrackMain.enablePlayback(true);
    }

}

private void incommingCall() {
    isOnCall = true;
    videoPaused(true);
    if (localAudioTrack != null) {
        localAudioTrack.enable(false);
        muteActionFab.setImageDrawable(ContextCompat.getDrawable(
                VideoActivity.this, R.drawable.mute));
        if (remoteAudioTrackMain != null)
            remoteAudioTrackMain.enablePlayback(false);

    }
}

private void screenFit() {
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}

}

Expected Behavior

Video should connect in all case and behaviors of app.

Actual Behavior

Some times it is connected but sometime not.

Reproduces how Often

on slow internet connection 90% on good internet connection 40%

Logs

1566560827.687 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onMessage
1566560827.687 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:connectOnNotifier
1566560827.697 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:AndroidRoomObserver
1566560827.699 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:Create PlatformInfo
1566560827.702 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Using user provider notifier queue
1566560827.706 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Creating SIP stack ...
1566560827.707 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Adding IPv4/IPv6 TLS transports ...
1566560827.707 11727-12115/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Connection::Connection: new connection created to who: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ]
1566560827.707 11727-12115/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Creating TLS transport for domain  interface= port=0
1566560827.708 11727-12115/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Connection::Connection: new connection created to who: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ]
1566560827.708 11727-12115/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Creating TLS transport for domain  interface= port=0
1566560827.710 11727-12115/com.quartrly.android D/TwilioVideo: [Core]:RoomSignalingImpl::RoomSignalingImpl()
1566560827.710 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Starting SIP signaling stack worker thread ...
1566560827.712 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Starting StackThread runloop.
1566560827.713 11727-12119/com.quartrly.android I/TwilioVideo: [Core]:Querying SIP edge (mobile-endpoint.twilio.com) IP addresses ...
1566560827.713 11727-12119/com.quartrly.android I/TwilioVideo: [Core]:Looking up: mobile-endpoint.twilio.com
1566560827.997 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Address family: 2: 34.203.251.251
1566560827.997 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Address family: 2: 34.203.251.251
1566560827.997 11727-12119/com.quartrly.android I/TwilioVideo: [Core]:Setting SIP edge (outbound proxy) to: sips:34.203.251.251:443
1566560827.997 11727-12119/com.quartrly.android I/TwilioVideo: [Core]:DNS resolution was successful
1566560827.998 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Sending a ping message ...
1566560828.007 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Connection::Connection: new connection created to who: [ V4 34.203.251.251:443 TLS target domain=unspecified mFlowKey=182 ]
1566560828.007 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Creating TLS connection for domain  [ V4 34.203.251.251:443 TLS target domain=unspecified mFlowKey=0 ] on 182
1566560828.226 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: TLS handshake starting (client mode)
1566560828.226 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: TLS connected
1566560828.681 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: TLS connected
1566560828.681 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: TLS sessions set up with TLSv1.2 TLSv1/SSLv3 AES256-GCM-SHA384 
1566560828.682 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: subjectAltName of TLS session cert contains DNS <mobile-endpoint.twilio.com>
1566560828.682 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: subjectAltName of TLS session cert contains DNS <mobile-endpoint.us1.twilio.com>
1566560828.684 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSPORT: TLS handshake done for peer mobile-endpoint.twilio.com, mobile-endpoint.us1.twilio.com
1566560828.856 11727-12118/com.quartrly.android D/TwilioVideo: [Core]:Parsing 'video' endpoint config: {"video":{"network_traversal_service":{"ttl":14400,"date_created":"Fri, 23 Aug 2019 11:47:09 +0000","date_updated":"Fri, 23 Aug 2019 11:47:09 +0000","ice_servers":[{"urls":"turn:global.turn.twilio.com:3478?transport=udp","username":"237a96c5d5c2ca47636dccb715aa9107e2a73e22b75037d2d965d255c6d9ab61","credential":"MTe/lTrVH40/d4BUyCvPmOy6+i7OYccbc8d0yU5pCxk="},{"urls":"turns:global.turn.twilio.com:443?transport=tcp","username":"237a96c5d5c2ca47636dccb715aa9107e2a73e22b75037d2d965d255c6d9ab61","credential":"MTe/lTrVH40/d4BUyCvPmOy6+i7OYccbc8d0yU5pCxk="}]}}}
1566560828.858 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:RoomSignalingImpl: State transition successful: kInit -> kConnecting
1566560828.858 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Creating peer connection ...
1566560828.880 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Adding local stream to peer connection ...
1566560828.892 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560828.892 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Create local offer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560828.894 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560828.896 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC group 2658168586 1691057537 --- Original SSRC group 2658168586 1691057537
1566560828.900 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:PeerConnection state: Updating -> Waiting
1566560828.900 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560828.900 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 1 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560828.902 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Adding X-Twilio-AccessToken header.
1566560828.902 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INVITE sip:mobile-endpoint.twilio.com;transport=tls SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---021e4ac24c31d366;rport
    Max-Forwards: 70
    Contact: <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@127.0.0.1;transport=tls;ob>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 1 INVITE
    Session-Expires: 120
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    X-Twilio-AccessToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6InR3aWxpby1mcGE7dj0xIn0.eyJqdGkiOiJTSzYyNTkwNTc4NjYzMzc5YjY2OTE2ZTg1MzJiMGZmOWRlLTE1NjY1NjA3MDAiLCJncmFudHMiOnsiaWRlbnRpdHkiOiI1ZDFlZjg3ZTIzOTA1OTFmNzI2YjVhOGQiLCJ2aWRlbyI6eyJyb29tIjoiNWQ1Zjg4OTEyOGI1ZmY0MmQyNzYzN2MyLTVkMWVmODdlMjM5MDU5MWY3MjZiNWE4ZCJ9fS
1566560828.903 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560829.221 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 100 Giving a try
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---021e4ac24c31d366;rport=43009
    To: <sip:orchestrator@mobile-endpoint.twilio.com>
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 1 INVITE
    Server: Twilio Gateway
    Content-Length: 0
1566560829.222 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INVITE response with code 100
1566560829.385 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---021e4ac24c31d366;rport=43009
    Record-Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    Record-Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Require: timer
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 1 INVITE
    Session-Expires: 120;refresher=uac
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
    Content-Type: application/room-signaling+json
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    X-Twilio-EdgeHost: ec2-34-203-251-251.compute-1.amazonaws.com
    Content-Length: 3015

    {
1566560829.385 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INVITE response with code 200
1566560829.385 11727-12119/com.quartrly.android I/TwilioVideo: [Core]:SipCall::updateContact set host to ec2-34-203-251-251.compute-1.amazonaws.com
1566560829.386 11727-12119/com.quartrly.android I/TwilioVideo: [Core]:SipSignalingStackImpl::UpdateHost
1566560829.387 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    ACK sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---430c689a7f00edf4;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Content-Length: 0
1566560829.387 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560829.390 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:onAccepted
1566560829.390 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:RoomSignalingImpl: State transition successful: kConnecting -> kConnected
1566560829.391 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Canceling reconnect retry timer.
1566560829.391 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560829.391 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:PeerConnection state: Waiting -> Updating
1566560829.392 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote answer at revision 1.
1566560829.392 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onConnected
1566560829.392 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 1.
1566560829.397 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 1
1566560829.400 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:AndroidLocalParticipantObserver
1566560829.442 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560829.479 11727-12041/com.quartrly.android I/TwilioVideo: [Core]:Ice Gathering...
1566560829.479 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560829.479 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue ICE candidate revision: 1 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560829.479 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560829.479 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Publish ICE candidate revision: 1 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560829.480 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560829.481 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---34d7138c1d5c336c;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 2 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 330

    {"peer_connections":[{"ice":{"candidates":[{"candidate":"candidate:2020300070 1 udp 2122260223 192.168.2.8 36430 typ host generation 0 ufrag U8s8 network-id 3 network-cos
1566560829.482 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560829.705 11727-12041/com.quartrly.android I/TwilioVideo: [Core]:Ice Gathering Complete.
1566560829.705 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue ICE candidate revision: 2 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560829.705 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Publish ICE candidate revision: 2 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560829.707 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---242a4a96cc8cb60d;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 3 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 329

    {"peer_connections":[{"ice":{"candidates":[{"candidate":"candidate:2020300070 1 udp 2122260223 192.168.2.8 36430 typ host generation 0 ufrag U8s8 network-id 3 network-cos
1566560829.707 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560829.823 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bKf17f.a6c0cd55.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_357-17601801747373403093
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 1 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1527

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd67
1566560829.824 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560829.831 11727-12115/com.quartrly.android D/TwilioVideo: [Core]:RemoteParticipantImpl::RemoteParticipantImpl: 5d5f889128b5ff42d27637c2, sid: PA0d4ea396348eaeac65aaeb51c1413407
1566560829.832 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Remote participant 5d5f889128b5ff42d27637c2 added an audio track with id: dF0F2E01dd0f7DaEf5AF34be4B39CB84, sid: MTefb4112152aec39cf51bd34708afb8aa, name: mic, enabled: 1
1566560829.832 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Remote participant 5d5f889128b5ff42d27637c2 added a video track with id: CbcD01dCaa13F26a84Ac4bfFd9dBDbeA, sid: MT7019709620ef3dff75168c497106c3a9, name: camera, enabled: 1
1566560829.832 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onParticipantConnected
1566560829.846 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bKc17f.7fb958e.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_332-2306157234236679840
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 2 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3720

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"typ
1566560829.846 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560829.851 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:AndroidMediaObserver
1566560829.852 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560829.852 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote offer.
1566560829.852 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 2.
1566560829.901 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---34d7138c1d5c336c;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 2 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560829.901 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560830.065 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---242a4a96cc8cb60d;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 3 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560830.065 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560830.068 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560830.068 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560830.068 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Create local answer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560830.073 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560830.073 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560830.074 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Subscribed to Participant's 5d5f889128b5ff42d27637c2 audio track with sid MTefb4112152aec39cf51bd34708afb8aa and id dF0F2E01dd0f7DaEf5AF34be4B39CB84
1566560830.074 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onAudioTrackSubscribed
1566560830.074 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 2658168586 replaced with Old SSRC 2658168586
1566560830.074 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1691057537 replaced with Old SSRC 1691057537
1566560830.074 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560830.074 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC group 2658168586 1691057537 --- Original SSRC group 2658168586 1691057537
1566560830.076 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 2
1566560830.141 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560830.141 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560830.141 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560830.141 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 2 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560830.141 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Subscribed to Participant's 5d5f889128b5ff42d27637c2 video track with sid MT7019709620ef3dff75168c497106c3a9 and id CbcD01dCaa13F26a84Ac4bfFd9dBDbeA
1566560830.141 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackSubscribed
1566560830.142 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---5bd26e9ce21baa08;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 4 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 2751

    {"participant":{"revision":1,"tracks":[{"enabled":true,"id":"3DCa714EeE5e93D1cfD2b9fcBbCA2B02","kind":"video","name":"camera","priority":"medium"},{"enabled":true,"id":"
1566560830.142 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560830.385 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---5bd26e9ce21baa08;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 4 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560830.385 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560835.407 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560836.665 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:PeerConnection 86eDFd89988dAbdE589Bf8dAce39dDe5 is connected
1566560836.668 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:All ice gathering completed and PeerConnection 86eDFd89988dAbdE589Bf8dAce39dDe5 is connected
1566560836.673 11727-12195/com.quartrly.android I/TwilioVideo: [Core]:Connecting to sdkgw.us1.twilio.com:443.
1566560837.806 11727-12195/com.quartrly.android I/TwilioVideo: [Core]:Connected to sdkgw.us1.twilio.com:443.
1566560840.074 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bKd17f.244be541.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_331-1311445407938785328
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 3 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1527

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd670
1566560840.075 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560840.078 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackUnsubscribed
1566560840.082 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bKa17f.1de10df6.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_346-9538287716880067029
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 4 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3343

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"ty
1566560840.082 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560840.082 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackUnpublished
1566560840.085 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560840.085 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote offer.
1566560840.085 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 3.
1566560840.173 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560840.173 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Create local answer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560840.174 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560840.175 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560840.175 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 2658168586 replaced with Old SSRC 2658168586
1566560840.176 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1691057537 replaced with Old SSRC 1691057537
1566560840.176 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560840.176 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC group 2658168586 1691057537 --- Original SSRC group 2658168586 1691057537
1566560840.181 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 3
1566560840.190 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560840.191 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560840.191 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Track with track id CbcD01dCaa13F26a84Ac4bfFd9dBDbeA has not been subscribed to yet.
1566560840.193 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560840.193 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 3 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560840.195 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---ef5d85e9f0a8941f;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 5 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 2751

    {"participant":{"revision":1,"tracks":[{"enabled":true,"id":"3DCa714EeE5e93D1cfD2b9fcBbCA2B02","kind":"video","name":"camera","priority":"medium"},{"enabled":true,"id":"
1566560840.195 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560840.239 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560840.239 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Create local offer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560840.241 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560840.242 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560840.242 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560840.242 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---9968b57592790c19;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 6 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 175

    {"participant":{"revision":2,"tracks":[{"enabled":true,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"}]},"type":"update","version
1566560840.242 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560840.244 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560840.247 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:AndroidVideoCapturer::Stop
1566560840.247 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate stop
1566560840.248 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate stop done
1566560840.249 11727-12041/com.quartrly.android I/TwilioVideo: [Platform]:~VideoCapturerDelegate
1566560840.478 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---ef5d85e9f0a8941f;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 5 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560840.478 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560840.560 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---9968b57592790c19;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 6 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560840.560 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560840.571 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bKb17f.384baad7.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_347-12841596926941803746
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 5 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1119

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5d
1566560840.571 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560840.767 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560840.767 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 4 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560840.768 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---572352380051c8f2;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 7 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 3282

    {"participant":{"revision":2,"tracks":[{"enabled":true,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"}]},"peer_connections":[{"d
1566560840.768 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560841.070 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---572352380051c8f2;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 7 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560841.070 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560841.084 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK817f.d712aa33.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_318-8264016192105090197
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 6 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3004

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"ty
1566560841.084 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560841.086 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560841.086 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote answer at revision 4.
1566560841.086 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 4.
1566560841.089 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 4
1566560841.247 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560841.253 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560841.253 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560841.253 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560845.413 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560845.834 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK917f.d2eb6733.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_338-4149905778319924621
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 7 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1104

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd670
1566560845.834 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560846.061 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK727f.0c04ebb2.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_319-4570733265993557030
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 8 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1273

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd670
1566560846.062 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560846.064 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Participant 5d5f889128b5ff42d27637c2 added a video track with id: 7598abb4F042Fcb5280fbFABc73429eC, sid: MT8fad742626fbefcce400acea363664d3, name: camera, enabled: 1
1566560846.064 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackPublished
1566560846.075 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK627f.f44fdf34.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_361-10524048102790309971
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 9 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3380

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"t
1566560846.075 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560846.077 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560846.077 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote offer.
1566560846.077 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 5.
1566560846.090 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560846.090 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Create local answer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560846.091 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560846.092 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560846.092 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560846.093 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 5
1566560846.134 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560846.134 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560846.134 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560846.134 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Subscribed to Participant's 5d5f889128b5ff42d27637c2 video track with sid MT8fad742626fbefcce400acea363664d3 and id 7598abb4F042Fcb5280fbFABc73429eC
1566560846.134 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 5 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560846.134 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackSubscribed
1566560846.135 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---6c63c57a60b52bb0;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 8 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 2085

    {"participant":{"revision":2,"tracks":[{"enabled":true,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"}]},"peer_connections":[{"d
1566560846.135 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560846.558 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---6c63c57a60b52bb0;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 8 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560846.558 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560855.415 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560856.698 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_MediaFactory_nativeCreateVideoTrack
1566560856.711 11727-11727/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate ctor
1566560856.712 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Parsing video constraints
1566560856.712 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints minFps 0 maxFps 112
1566560856.712 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints min width 0 min height 0
1566560856.712 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video aspect ratio 0:0
1566560856.712 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints max width 640 max height 480
1566560856.712 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:AndroidVideoCapturer::Start 640x480@112
1566560856.712 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate start
1566560856.715 11727-11727/com.quartrly.android I/TwilioVideo: [Core]:Creating a video track ...
1566560856.720 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560856.720 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Create local offer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560856.721 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560856.722 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560856.722 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC group 1601536885 3663213610 --- Original SSRC group 1601536885 3663213610
1566560856.724 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560856.725 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560856.725 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560856.725 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 6 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560856.725 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---dc8a1dd3a5aa8f85;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 9 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 283

    {"participant":{"revision":3,"tracks":[{"enabled":true,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"AbEb
1566560856.726 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---027ef493c1d460b8;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 10 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 3948

    {"participant":{"revision":3,"tracks":[{"enabled":true,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"Ab
1566560856.726 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---027ef493c1d460b8;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 10 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 3948

    {"participant":{"revision":3,"tracks":[{"enabled":true,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"Ab
1566560856.726 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560856.732 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560856.946 11727-12381/com.quartrly.android I/TwilioVideo: [Platform]:NativeObserver_nativeCapturerStarted
1566560856.946 11727-12381/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate capture started: true
1566560856.958 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---dc8a1dd3a5aa8f85;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 9 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560856.958 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560856.962 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK70e2.1c04c407.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_316-15253971189406313318
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 10 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1501

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5
1566560856.962 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560857.177 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---027ef493c1d460b8;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 10 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560857.177 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560857.188 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK80e2.fdbee321.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_347-9286767400836203379
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 11 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3717

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"t
1566560857.188 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560857.190 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560857.190 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote answer at revision 6.
1566560857.190 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 6.
1566560857.191 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 6
1566560857.191 11727-12115/com.quartrly.android D/TwilioVideo: [Core]:Dispatching onVideoTrackPublished() for track sid: MT749d2d040dc1bb9789e2e045add1372b
1566560857.192 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackPublished
1566560857.309 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560857.321 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560857.321 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560857.321 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560857.999 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Sending a ping message ...
1566560858.598 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560858.598 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---2524b5afc3200d59;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 11 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 284

    {"participant":{"revision":4,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"Ab
1566560858.599 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560858.827 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---2524b5afc3200d59;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 11 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560858.827 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560858.835 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK50e2.214d3213.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_368-16340389965009769691
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 12 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1713

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5
1566560858.835 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560859.674 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK60e2.2cbff506.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_352-13746207054890251314
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 13 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1699

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd6
1566560859.674 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560859.675 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onAudioTrackDisabled
1566560861.286 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560861.287 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Create local offer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560861.288 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560861.288 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560861.289 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---5c688a42c8f6654e;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 12 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 176

    {"participant":{"revision":5,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"}]},"type":"update","versi
1566560861.289 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560861.289 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560861.291 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560861.299 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:AndroidVideoCapturer::Stop
1566560861.299 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate stop
1566560861.300 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate stop done
1566560861.300 11727-12041/com.quartrly.android I/TwilioVideo: [Platform]:~VideoCapturerDelegate
1566560861.513 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---5c688a42c8f6654e;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 12 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560861.513 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560861.521 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK30e2.bc4ca302.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_366-8504595825694332397
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 14 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1376

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5d
1566560861.521 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560861.766 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560861.767 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 7 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560861.768 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---2d0ad803687345b3;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 13 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 3283

    {"participant":{"revision":5,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"}]},"peer_connections":[{
1566560861.768 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560862.011 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---2d0ad803687345b3;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 13 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560862.012 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560862.021 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK40e2.7b71e641.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_333-8191133349066834990
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 15 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3382

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"t
1566560862.022 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560862.024 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560862.024 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote answer at revision 7.
1566560862.024 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 7.
1566560862.025 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 7
1566560862.105 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560862.109 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560862.109 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560862.110 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560863.059 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK10e2.8722b89.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_371-7028245305377517004
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 16 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1192

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd670
1566560863.060 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560863.061 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackUnsubscribed
1566560863.062 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackUnpublished
1566560863.072 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK20e2.9688b103.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_319-16478087202201562702
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 17 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3008

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"
1566560863.073 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560863.079 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560863.079 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote offer.
1566560863.079 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 8.
1566560863.157 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560863.157 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Create local answer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560863.159 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560863.160 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560863.160 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560863.162 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 8
1566560863.202 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560863.202 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560863.202 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Track with track id 7598abb4F042Fcb5280fbFABc73429eC has not been subscribed to yet.
1566560863.202 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560863.202 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 8 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560863.203 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---439193c6930a456d;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 14 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 2086

    {"participant":{"revision":5,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"}]},"peer_connections":[{
1566560863.203 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560863.514 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---439193c6930a456d;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 14 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560863.514 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560865.418 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560866.235 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_MediaFactory_nativeCreateVideoTrack
1566560866.249 11727-11727/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate ctor
1566560866.251 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Parsing video constraints
1566560866.251 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints minFps 0 maxFps 112
1566560866.251 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints min width 0 min height 0
1566560866.251 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video aspect ratio 0:0
1566560866.251 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints max width 640 max height 480
1566560866.252 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:AndroidVideoCapturer::Start 640x480@112
1566560866.252 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate start
1566560866.258 11727-11727/com.quartrly.android I/TwilioVideo: [Core]:Creating a video track ...
1566560866.260 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560866.260 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Create local offer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560866.261 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560866.262 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560866.262 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC group 1879213596 2093661961 --- Original SSRC group 1879213596 2093661961
1566560866.264 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560866.264 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560866.264 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560866.264 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 9 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560866.265 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---02be39eb2a2e495c;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 15 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 284

    {"participant":{"revision":6,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"e8
1566560866.266 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---504440d0764fca1a;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 16 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 3950

    {"participant":{"revision":6,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"e
1566560866.266 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560866.268 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560866.463 11727-12492/com.quartrly.android I/TwilioVideo: [Platform]:NativeObserver_nativeCapturerStarted
1566560866.463 11727-12492/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate capture started: true
1566560866.492 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---02be39eb2a2e495c;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 15 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560866.492 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560866.501 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK01e2.4757ba31.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_326-8340813215377731723
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 18 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1250

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5d
1566560866.501 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560866.710 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---504440d0764fca1a;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 16 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560866.710 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560866.729 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bKf0e2.5f615217.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_333-8725442107034518308
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 19 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3345

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"t
1566560866.729 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560866.730 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560866.730 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote answer at revision 9.
1566560866.730 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 9.
1566560866.732 11727-12115/com.quartrly.android D/TwilioVideo: [Core]:Dispatching onVideoTrackPublished() for track sid: MT64f13232051966a028c14076f578800c
1566560866.732 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackPublished
1566560866.737 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 9
1566560866.824 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560866.841 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560866.841 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560866.842 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560868.932 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK76b2.119cb0f4.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_370-16212787815965409753
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 20 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1445

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd6
1566560868.932 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560869.175 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK86b2.c87632c2.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_337-9029435629074610997
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 21 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1614

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd67
1566560869.176 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560869.179 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Participant 5d5f889128b5ff42d27637c2 added a video track with id: 1D0691CcCAc8Baab7CD9a6a7fBFB1cc2, sid: MT3f9b7da8319eba8f2893a36ff5ffe956, name: camera, enabled: 1
1566560869.179 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackPublished
1566560869.217 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK56b2.18339757.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_326-5224836480381579237
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 22 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3722

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"t
1566560869.222 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560869.223 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560869.224 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote offer.
1566560869.224 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 10.
1566560869.309 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560869.309 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Create local answer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560869.313 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560869.313 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560869.314 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560869.315 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1879213596 replaced with Old SSRC 1879213596
1566560869.315 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 2093661961 replaced with Old SSRC 2093661961
1566560869.315 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC group 1879213596 2093661961 --- Original SSRC group 1879213596 2093661961
1566560869.317 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 10
1566560869.373 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560869.373 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560869.373 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560869.373 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 10 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560869.374 11727-12115/com.quartrly.android I/TwilioVideo: [Core]:Subscribed to Participant's 5d5f889128b5ff42d27637c2 video track with sid MT3f9b7da8319eba8f2893a36ff5ffe956 and id 1D0691CcCAc8Baab7CD9a6a7fBFB1cc2
1566560869.374 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackSubscribed
1566560869.375 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---e2d34665f132549c;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 17 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 2754

    {"participant":{"revision":6,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"e
1566560869.376 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560869.684 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---e2d34665f132549c;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 17 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560869.685 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560875.423 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560878.452 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560878.453 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---5f1ae4ac5537d602;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 18 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 283

    {"participant":{"revision":7,"tracks":[{"enabled":true,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"e8b
1566560878.453 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560878.678 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---5f1ae4ac5537d602;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 18 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560878.678 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560878.685 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK66b2.ead56831.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_333-3162246383536541494
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 23 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1712

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5d
1566560878.685 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560879.547 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK36b2.0599a7e4.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_339-3066220057969474171
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 24 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1696

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd67
1566560879.548 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560879.554 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onAudioTrackEnabled
1566560880.744 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560880.744 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---4e91d877e52674f6;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 19 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 284

    {"participant":{"revision":8,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"e8
1566560880.744 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560880.970 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---4e91d877e52674f6;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 19 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560880.970 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560880.979 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK46b2.4cf357b3.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_349-5758094424756362068
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 25 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1714

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5d
1566560880.979 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560881.630 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK16b2.fe7a7f35.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_331-8887080299104635227
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 26 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1701

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd67
1566560881.630 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560881.631 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onAudioTrackDisabled
1566560885.428 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560888.002 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::TRANSACTION: Stats message 
1566560888.003 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::STATS: RESIP:TRANSACTION
    TU summary: 0 TRANSPORT 0 TRANSACTION 0 CLIENTTX 0 SERVERTX 0 TIMERS 11
    Transaction summary: reqi 26 reqo 20 rspi 20 rspo 26
    Details: INVi 0/S0/F0 INVo 1/S1/F0 ACKi 0 ACKo 1 BYEi 0/S0/F0 BYEo 0/S0/F0 CANi 0/S0/F0 CANo 0/S0/F0 MSGi 0/S0/F0 MSGo 0/S0/F0 OPTi 0/S0/F0 OPTo 0/S0/F0 REGi 0/S0/F0 REGo 0/S0/F0 PUBi 0/S0/F0 PUBo 0/S0/F0 SUBi 0/S0/F0 SUBo 0/S0/F0 NOTi 0/S0/F0 NOTo 0/S0/F0 REFi 0/S0/F0 REFo 0/S0/F0 INFi 26/S26/F0 INFo 18/S18/F0 PRAi 0/S0/F0 PRAo 0/S0/F0 SERi 0/S0/F0 SERo 0/S0/F0 UPDi 0/S0/F0 UPDo 0/S0/F0
    Retransmissions: INVx 0 finx 0 nonx 0 BYEx 0 CANx 0 MSGx 0 OPTx 0 REGx 0 PUBx 0 SUBx 0 NOTx 0 REFx 0 INFx 0 PRAx 0 SERx 0 UPDx 0
1566560888.003 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Sending a ping message ...
1566560889.387 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    UPDATE sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---d30b6d8737ccab87;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 20 UPDATE
    Session-Expires: 120
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Content-Length: 0
1566560889.388 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560889.627 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---d30b6d8737ccab87;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 20 UPDATE
    Session-Expires: 120
    Server: Twilio
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560889.627 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process UPDATE response with code 200
1566560895.436 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560905.439 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560910.231 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560910.231 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Create local offer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560910.232 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560910.232 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560910.233 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---35491f825973a3a0;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 21 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 176

    {"participant":{"revision":9,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"}]},"type":"update","versi
1566560910.233 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560910.233 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560910.235 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560910.238 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:AndroidVideoCapturer::Stop
1566560910.238 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate stop
1566560910.239 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate stop done
1566560910.239 11727-12041/com.quartrly.android I/TwilioVideo: [Platform]:~VideoCapturerDelegate
1566560910.465 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---35491f825973a3a0;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 21 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560910.465 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560910.470 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK26b2.0ef072c.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_353-4132674697023183999
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 27 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1378

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5d1
1566560910.470 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560910.668 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560910.668 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 11 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560910.669 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---58b3623d114b7e1a;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 22 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 3285

    {"participant":{"revision":9,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"}]},"peer_connections":[{
1566560910.669 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560910.967 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---58b3623d114b7e1a;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 22 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560910.967 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560910.986 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK07b2.27078c23.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_349-15960981423938851025
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 28 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3385

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"
1566560910.986 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560910.993 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560910.993 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote answer at revision 11.
1566560910.994 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 11.
1566560911.001 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 11
1566560911.162 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560911.167 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560911.167 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560911.167 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560915.445 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560917.851 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_MediaFactory_nativeCreateVideoTrack
1566560917.857 11727-11727/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate ctor
1566560917.858 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Parsing video constraints
1566560917.858 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints minFps 0 maxFps 112
1566560917.858 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints min width 0 min height 0
1566560917.858 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video aspect ratio 0:0
1566560917.858 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Video constraints max width 640 max height 480
1566560917.859 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:AndroidVideoCapturer::Start 640x480@112
1566560917.859 11727-12042/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate start
1566560917.860 11727-11727/com.quartrly.android I/TwilioVideo: [Core]:Creating a video track ...
1566560917.863 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560917.863 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Create local offer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560917.865 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560917.866 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560917.866 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC group 1241248520 464777791 --- Original SSRC group 1241248520 464777791
1566560917.869 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560917.870 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560917.870 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560917.870 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 12 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560917.871 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---9113fae31d8ecf8e;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 23 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 285

    {"participant":{"revision":10,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"d
1566560917.871 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---831e7a9c14bc15ea;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 24 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 3947

    {"participant":{"revision":10,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"
1566560917.871 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560917.872 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560918.003 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Sending a ping message ...
1566560918.056 11727-12687/com.quartrly.android I/TwilioVideo: [Platform]:NativeObserver_nativeCapturerStarted
1566560918.056 11727-12687/com.quartrly.android I/TwilioVideo: [Platform]:VideoCapturerDelegate capture started: true
1566560918.095 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---9113fae31d8ecf8e;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 23 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560918.095 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560918.103 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bKf6b2.f35be941.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_315-3299893591010670904
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 29 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1507

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5d
1566560918.104 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560918.317 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---831e7a9c14bc15ea;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 24 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560918.317 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560918.386 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK74c2.e84e62f6.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_365-5626507300527325117
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 30 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3724

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"t
1566560918.386 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560918.387 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560918.387 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote answer at revision 12.
1566560918.387 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 12.
1566560918.387 11727-12115/com.quartrly.android D/TwilioVideo: [Core]:Dispatching onVideoTrackPublished() for track sid: MT82e7db3f6ed60bdd43784c2d34e0f05a
1566560918.387 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackPublished
1566560918.391 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 12
1566560918.412 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560918.423 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560918.423 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560918.423 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560918.932 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK84c2.24c5bf91.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_345-15057788779678294151
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 31 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1533

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd6
1566560918.933 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560918.936 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackUnsubscribed
1566560918.939 11727-12115/com.quartrly.android D/TwilioVideo: [Platform]:onVideoTrackUnpublished
1566560918.943 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK54c2.75d6e7e5.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_335-13521986082873312394
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 32 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 3350

    {"version":1,"type":"update","peer_connections":[{"id":"86eDFd89988dAbdE589Bf8dAce39dDe5","description":{"
1566560918.944 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560918.947 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Open -> Updating. Process an event
1566560918.947 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote offer.
1566560918.948 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Process remote sdp for: 86eDFd89988dAbdE589Bf8dAce39dDe5 revision is: 13.
1566560919.041 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionRemoteDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560919.042 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Create local answer: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560919.046 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Checking local tracks
1566560919.046 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onCreateSessionLocalDescription 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560919.047 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1124726516 replaced with Old SSRC 1124726516
1566560919.048 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 1241248520 replaced with Old SSRC 1241248520
1566560919.049 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC 464777791 replaced with Old SSRC 464777791
1566560919.049 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:SDP Utils: New SSRC group 1241248520 464777791 --- Original SSRC group 1241248520 464777791
1566560919.051 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Applying local description to: 86eDFd89988dAbdE589Bf8dAce39dDe5 rev: 13
1566560919.148 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Track with track id 1D0691CcCAc8Baab7CD9a6a7fBFB1cc2 has not been subscribed to yet.
1566560919.148 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:onSetSessionLocalDescription: 86eDFd89988dAbdE589Bf8dAce39dDe5
1566560919.148 11727-12041/com.quartrly.android D/TwilioVideo: [Core]:Updating -> Open
1566560919.149 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Local SDP is ready
1566560919.149 11727-12117/com.quartrly.android I/TwilioVideo: [Core]:Queue Description: 13 for PeerConnection: 86eDFd89988dAbdE589Bf8dAce39dDe5.
1566560919.152 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---8f6dbc790c45e49d;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 25 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 2750

    {"participant":{"revision":10,"tracks":[{"enabled":false,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"
1566560919.152 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560919.174 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK64c2.4839fa12.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_333-15791185272341183078
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 33 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1448

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"RM5d2fa39e2d1f8236058eccd6
1566560919.175 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560919.395 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---8f6dbc790c45e49d;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 25 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560919.395 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560925.451 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording
1566560931.116 11727-12117/com.quartrly.android D/TwilioVideo: [Core]:Sent a track update message
1566560931.118 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Sending outgoing SIP message
    INFO sip:172.18.33.80:5060 SIP/2.0
    Via: SIP/2.0/TLS 127.0.0.1;branch=z9hG4bK-524287-1---7778af32208977cf;rport
    Max-Forwards: 70
    Route: <sip:34.203.251.251:443;r2=on;transport=tls;ftag=3264d874;lr>
    Route: <sip:172.18.44.108:5060;r2=on;transport=udp;ftag=3264d874;lr>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc"<sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 26 INFO
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
    Content-Type: application/room-signaling+json
    Supported: timer, outbound, path, gruu, room-signaling
    User-Agent: TwilioVideo SDK
    Event: room-signaling
    Info-Package: room-signaling
    Content-Length: 284

    {"participant":{"revision":11,"tracks":[{"enabled":true,"id":"6c0fFFBBFBd1Fa6C07b5e08F5b7a4fa0","kind":"audio","name":"mic","priority":"medium"},{"enabled":true,"id":"dC
1566560931.119 11727-12119/com.quartrly.android W/TwilioVideo: [Signaling]:RESIP::TRANSPORT: Can't find matching transport [ V4 127.0.0.1:0 TLS target domain=unspecified mFlowKey=0 ]
1566560931.380 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS 127.0.0.1;received=101.53.234.205;branch=z9hG4bK-524287-1---7778af32208977cf;rport=43009
    Contact: <sip:172.18.33.80:5060>
    To: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    From: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 26 INFO
    Server: Twilio
    Supported: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 0
1566560931.380 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:Process INFO response with code 200
1566560931.387 11727-12119/com.quartrly.android D/TwilioVideo: [Core]:
    Receiving incoming SIP message from infra
    INFO sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@101.53.234.205:43009;transport=tls;ob SIP/2.0
    Via: SIP/2.0/TLS 34.203.251.251:443;branch=z9hG4bK34c2.757bd5e4.0
    Via: SIP/2.0/UDP 172.18.33.80:5060;branch=z9hG4bK1e4b5506-5530-473e-99c7-6c82a3327ec3_6772d868_362-630102527105616723
    Max-Forwards: 68
    To: "E715E85FA9A91DD3d7cE5Ec6F5775Bcc" <sip:E715E85FA9A91DD3d7cE5Ec6F5775Bcc@mobile-endpoint.twilio.com>;tag=3264d874
    From: <sip:orchestrator@mobile-endpoint.twilio.com>;tag=89507167_6772d868_1e4b5506-5530-473e-99c7-6c82a3327ec3
    Call-ID: c_uN902KnrG2qsOy5jaSIA..
    CSeq: 34 INFO
    Content-Type: application/room-signaling+json
    Supported: room-signaling
    User-Agent: Twilio Gateway
    Recv-Info: room-signaling
    Info-Package: room-signaling
    X-Twilio-CallSid: CA810b757bf9b7bd5d7bcde094d9ed06c2
    X-Twilio-LegInfo: external
    X-Twilio-TlsVerify: true
    Content-Length: 1461

    {"version":1,"type":"update","sid":"RM5d2fa39e2d1f8236058eccd67088eccb","name":"5d5f889128b5ff42d27637c2-5d1
1566560931.387 11727-12119/com.quartrly.android I/TwilioVideo: [Signaling]:RESIP::SIP: SipMessage::getContents: got content type (application/room-signaling+json) that is not known, returning as opaque application/octet-stream
1566560935.455 11727-11727/com.quartrly.android D/TwilioVideo: [Platform]:Java_com_twilio_video_Room_nativeIsRecording

Versions

All relevant version information for issue.

Video Android SDK

com.twilio:video-android:3.0.0-preview1

Android API

[eg. 18]

Android Device

Samsung Note8 , S8 ,S7

aaalaniz commented 5 years ago

Hey @ZahidRamzan

I have two follow up questions.

I notice you are using 3.0.0-preview1. Can you upgrade to the latest GA release? 4.3.1

Can you provide room sids where you observe the issue? You can get a room sid from the room object using the following API. room.getSid()

Thanks!

aaalaniz commented 5 years ago

Hey @ZahidRamzan

I'm closing this issue for now. Please reopen if you have any further questions.

Thanks!