├── .gradle
├── 5.6.4
│ ├── executionHistory
│ │ ├── executionHistory.bin
│ │ └── executionHistory.lock
│ ├── fileChanges
│ │ └── last-build.bin
│ ├── fileContent
│ │ └── fileContent.lock
│ ├── fileHashes
│ │ ├── fileHashes.bin
│ │ └── fileHashes.lock
│ └── gc.properties
├── buildOutputCleanup
│ ├── buildOutputCleanup.lock
│ ├── cache.properties
│ └── outputFiles.bin
└── vcs-1
│ └── gc.properties
├── .idea
├── .gitignore
├── caches
│ └── build_file_checksums.ser
├── codeStyles
│ └── Project.xml
├── gradle.xml
├── libraries
│ ├── Gradle__androidx_activity_activity_1_0_0_aar.xml
│ ├── Gradle__androidx_annotation_annotation_1_1_0_jar.xml
│ ├── Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml
│ ├── Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml
│ ├── Gradle__androidx_arch_core_core_common_2_1_0_jar.xml
│ ├── Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml
│ ├── Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_cardview_cardview_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_collection_collection_1_1_0_jar.xml
│ ├── Gradle__androidx_constraintlayout_constraintlayout_2_0_2_aar.xml
│ ├── Gradle__androidx_constraintlayout_constraintlayout_solver_2_0_2_jar.xml
│ ├── Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_core_core_1_3_1_aar.xml
│ ├── Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml
│ ├── Gradle__androidx_customview_customview_1_0_0_aar.xml
│ ├── Gradle__androidx_documentfile_documentfile_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml
│ ├── Gradle__androidx_fragment_fragment_1_1_0_aar.xml
│ ├── Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml
│ ├── Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_lifecycle_lifecycle_common_2_1_0_jar.xml
│ ├── Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml
│ ├── Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml
│ ├── Gradle__androidx_lifecycle_lifecycle_runtime_2_1_0_aar.xml
│ ├── Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml
│ ├── Gradle__androidx_loader_loader_1_0_0_aar.xml
│ ├── Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_print_print_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_recyclerview_recyclerview_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml
│ ├── Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_transition_transition_1_0_0_rc01_aar.xml
│ ├── Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml
│ ├── Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml
│ ├── Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml
│ ├── Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml
│ ├── Gradle__com_google_android_material_material_1_0_0_rc01_aar.xml
│ ├── Gradle__com_jeremyliao_live_event_bus_1_7_2_aar.xml
│ └── Gradle__com_tencent_mmkv_1_0_19_aar.xml
├── misc.xml
├── modules.xml
├── runConfigurations.xml
└── vcs.xml
├── README.md
├── SipSdk.iml
├── app
├── .gitignore
├── app.iml
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── aidl
│ └── com
│ │ ├── android
│ │ └── internal
│ │ │ └── telephony
│ │ │ └── ITelephony.aidl
│ │ └── cloudrtc
│ │ ├── ISipCallback.aidl
│ │ ├── SipAidlServer.aidl
│ │ └── binder
│ │ ├── CallRecordBean.aidl
│ │ ├── SipCallRequest.aidl
│ │ └── XierHeader.aidl
│ ├── java
│ ├── com
│ │ └── cloudrtc
│ │ │ ├── AppSipHelper.java
│ │ │ ├── binder
│ │ │ ├── CallRecordBean.java
│ │ │ ├── SipCallRequest.java
│ │ │ └── XierHeader.java
│ │ │ ├── mediaengine
│ │ │ ├── CloudRtcAudioManager.java
│ │ │ ├── CloudRtcProximitySensor.java
│ │ │ ├── CloudRtcUtils.java
│ │ │ ├── CodecInst.java
│ │ │ ├── Engine.java
│ │ │ ├── EngineListener.java
│ │ │ ├── MediaCodecVideoDecoder.java
│ │ │ ├── MediaEngine.java
│ │ │ ├── MediaStreamType.java
│ │ │ ├── VideoCaptureObserver.java
│ │ │ ├── VideoCodecInst.java
│ │ │ ├── VideoDecodeEncodeObserver.java
│ │ │ ├── VideoEngine.java
│ │ │ ├── VideoFrameInfo.java
│ │ │ ├── VideoStreamObserver.java
│ │ │ ├── VoiceEngine.java
│ │ │ └── VoiceStreamObserver.java
│ │ │ ├── sipsdk
│ │ │ ├── api
│ │ │ │ ├── SipAccountHelper.java
│ │ │ │ ├── SipCallHelper.java
│ │ │ │ ├── SipCallRecordHelper.java
│ │ │ │ ├── callback
│ │ │ │ │ ├── SipAccountCallBack.java
│ │ │ │ │ ├── SipCallCallBack.java
│ │ │ │ │ ├── SipCallStatusListener.java
│ │ │ │ │ ├── SipCommandCallBack.java
│ │ │ │ │ └── SipLogListener.java
│ │ │ │ ├── entity
│ │ │ │ │ ├── CallStatus.java
│ │ │ │ │ ├── Direction.java
│ │ │ │ │ ├── RegisterEntity.java
│ │ │ │ │ ├── RegisterStatus.java
│ │ │ │ │ ├── SipCallInfoEntity.java
│ │ │ │ │ └── SipCallRxStatus.java
│ │ │ │ ├── manager
│ │ │ │ │ ├── SipManager.java
│ │ │ │ │ ├── SipMediaManager.java
│ │ │ │ │ └── media
│ │ │ │ │ │ ├── AudioMediaManager.java
│ │ │ │ │ │ └── VideoMediaManager.java
│ │ │ │ ├── sip
│ │ │ │ │ ├── SipAbstractConfig.java
│ │ │ │ │ ├── SipAbstractManager.java
│ │ │ │ │ ├── SipAccount.java
│ │ │ │ │ ├── SipAccountConfig.java
│ │ │ │ │ ├── SipCall.java
│ │ │ │ │ ├── SipLogWriter.java
│ │ │ │ │ └── SipVideoConfig.java
│ │ │ │ └── util
│ │ │ │ │ ├── MMKVUtil.java
│ │ │ │ │ ├── SipCommandUtil.java
│ │ │ │ │ ├── SipMessageUtil.java
│ │ │ │ │ └── SipUtil.java
│ │ │ ├── db
│ │ │ │ └── ISipCallEventProxy.java
│ │ │ ├── event
│ │ │ │ ├── IBaseEvent.java
│ │ │ │ ├── LiveDataBusHelper.java
│ │ │ │ └── SipEvent.java
│ │ │ └── service
│ │ │ │ ├── SipBinder.java
│ │ │ │ └── SipService.java
│ │ │ └── ui
│ │ │ ├── SipCallCountTimer.java
│ │ │ ├── VideoSurfaceView.java
│ │ │ ├── activity
│ │ │ ├── AppSipCallActivity.java
│ │ │ ├── AppSipCallConnectFragment.java
│ │ │ └── AppSipCallWaitFragment.java
│ │ │ ├── base
│ │ │ ├── BaseCompatActivity.java
│ │ │ └── BaseCompatFragment.java
│ │ │ ├── event
│ │ │ └── SipRegisterStatusEvent.java
│ │ │ ├── media
│ │ │ ├── IPlayCompleteListener.java
│ │ │ ├── MediaPlayerHelper.java
│ │ │ └── MediaPlayerRequest.java
│ │ │ ├── server
│ │ │ └── XSipService.java
│ │ │ └── util
│ │ │ ├── DensityUtil.java
│ │ │ ├── StatusBarUtils.java
│ │ │ └── TelePhonyUtil.java
│ └── org
│ │ ├── pjsip
│ │ └── pjsua2
│ │ │ ├── Account.java
│ │ │ ├── AccountCallConfig.java
│ │ │ ├── AccountConfig.java
│ │ │ ├── AccountInfo.java
│ │ │ ├── AccountMediaConfig.java
│ │ │ ├── AccountMwiConfig.java
│ │ │ ├── AccountNatConfig.java
│ │ │ ├── AccountPresConfig.java
│ │ │ ├── AccountRegConfig.java
│ │ │ ├── AccountSipConfig.java
│ │ │ ├── AccountVideoConfig.java
│ │ │ ├── AudDevManager.java
│ │ │ ├── AudioDevInfo.java
│ │ │ ├── AudioDevInfoVector.java
│ │ │ ├── AudioMedia.java
│ │ │ ├── AudioMediaPlayer.java
│ │ │ ├── AudioMediaPlayerInfo.java
│ │ │ ├── AudioMediaRecorder.java
│ │ │ ├── AudioMediaVector.java
│ │ │ ├── AuthCredInfo.java
│ │ │ ├── AuthCredInfoVector.java
│ │ │ ├── Buddy.java
│ │ │ ├── BuddyConfig.java
│ │ │ ├── BuddyInfo.java
│ │ │ ├── BuddyVector.java
│ │ │ ├── Call.java
│ │ │ ├── CallInfo.java
│ │ │ ├── CallMediaInfo.java
│ │ │ ├── CallMediaInfoVector.java
│ │ │ ├── CallOpParam.java
│ │ │ ├── CallSendRequestParam.java
│ │ │ ├── CallSetting.java
│ │ │ ├── CallVidSetStreamParam.java
│ │ │ ├── CodecInfo.java
│ │ │ ├── CodecInfoVector.java
│ │ │ ├── ConfPortInfo.java
│ │ │ ├── ContainerNode.java
│ │ │ ├── Endpoint.java
│ │ │ ├── EpConfig.java
│ │ │ ├── Error.java
│ │ │ ├── FindBuddyMatch.java
│ │ │ ├── IntVector.java
│ │ │ ├── JbufState.java
│ │ │ ├── JsonDocument.java
│ │ │ ├── LogConfig.java
│ │ │ ├── LogEntry.java
│ │ │ ├── LogWriter.java
│ │ │ ├── LossType.java
│ │ │ ├── MathStat.java
│ │ │ ├── Media.java
│ │ │ ├── MediaConfig.java
│ │ │ ├── MediaCoordinate.java
│ │ │ ├── MediaEvent.java
│ │ │ ├── MediaEventData.java
│ │ │ ├── MediaFmtChangedEvent.java
│ │ │ ├── MediaFormat.java
│ │ │ ├── MediaFormatAudio.java
│ │ │ ├── MediaFormatVector.java
│ │ │ ├── MediaFormatVideo.java
│ │ │ ├── MediaSize.java
│ │ │ ├── MediaTransportInfo.java
│ │ │ ├── OnCallMediaEventParam.java
│ │ │ ├── OnCallMediaStateParam.java
│ │ │ ├── OnCallMediaTransportStateParam.java
│ │ │ ├── OnCallRedirectedParam.java
│ │ │ ├── OnCallReplaceRequestParam.java
│ │ │ ├── OnCallReplacedParam.java
│ │ │ ├── OnCallRxOfferParam.java
│ │ │ ├── OnCallSdpCreatedParam.java
│ │ │ ├── OnCallStateParam.java
│ │ │ ├── OnCallTransferRequestParam.java
│ │ │ ├── OnCallTransferStatusParam.java
│ │ │ ├── OnCallTsxStateParam.java
│ │ │ ├── OnCreateMediaTransportParam.java
│ │ │ ├── OnDtmfDigitParam.java
│ │ │ ├── OnIncomingCallParam.java
│ │ │ ├── OnIncomingSubscribeParam.java
│ │ │ ├── OnInstantMessageParam.java
│ │ │ ├── OnInstantMessageStatusParam.java
│ │ │ ├── OnMwiInfoParam.java
│ │ │ ├── OnNatCheckStunServersCompleteParam.java
│ │ │ ├── OnNatDetectionCompleteParam.java
│ │ │ ├── OnRegStartedParam.java
│ │ │ ├── OnRegStateParam.java
│ │ │ ├── OnSelectAccountParam.java
│ │ │ ├── OnStreamCreatedParam.java
│ │ │ ├── OnStreamDestroyedParam.java
│ │ │ ├── OnTimerParam.java
│ │ │ ├── OnTransportStateParam.java
│ │ │ ├── OnTypingIndicationParam.java
│ │ │ ├── PendingJob.java
│ │ │ ├── PersistentDocument.java
│ │ │ ├── PersistentObject.java
│ │ │ ├── PresNotifyParam.java
│ │ │ ├── PresenceStatus.java
│ │ │ ├── RtcpSdes.java
│ │ │ ├── RtcpStat.java
│ │ │ ├── RtcpStreamStat.java
│ │ │ ├── RxMsgEvent.java
│ │ │ ├── SWIGTYPE_p_p_void.java
│ │ │ ├── SWIGTYPE_p_pj_bool_t.java
│ │ │ ├── SWIGTYPE_p_pj_ssize_t.java
│ │ │ ├── SWIGTYPE_p_pjmedia_vid_dev_hwnd_type.java
│ │ │ ├── SWIGTYPE_p_void.java
│ │ │ ├── SdpSession.java
│ │ │ ├── SendInstantMessageParam.java
│ │ │ ├── SendTypingIndicationParam.java
│ │ │ ├── SipEvent.java
│ │ │ ├── SipEventBody.java
│ │ │ ├── SipHeader.java
│ │ │ ├── SipHeaderVector.java
│ │ │ ├── SipMediaType.java
│ │ │ ├── SipMultipartPart.java
│ │ │ ├── SipMultipartPartVector.java
│ │ │ ├── SipRxData.java
│ │ │ ├── SipTransaction.java
│ │ │ ├── SipTxData.java
│ │ │ ├── SipTxOption.java
│ │ │ ├── StreamInfo.java
│ │ │ ├── StreamStat.java
│ │ │ ├── StringVector.java
│ │ │ ├── TimeVal.java
│ │ │ ├── TimerEvent.java
│ │ │ ├── TlsConfig.java
│ │ │ ├── ToneDesc.java
│ │ │ ├── ToneDescVector.java
│ │ │ ├── ToneDigit.java
│ │ │ ├── ToneDigitMapDigit.java
│ │ │ ├── ToneDigitMapVector.java
│ │ │ ├── ToneDigitVector.java
│ │ │ ├── ToneGenerator.java
│ │ │ ├── TransportConfig.java
│ │ │ ├── TransportInfo.java
│ │ │ ├── TsxStateEvent.java
│ │ │ ├── TsxStateEventSrc.java
│ │ │ ├── TxErrorEvent.java
│ │ │ ├── TxMsgEvent.java
│ │ │ ├── UaConfig.java
│ │ │ ├── UserEvent.java
│ │ │ ├── Version.java
│ │ │ ├── VideoWindow.java
│ │ │ ├── VideoWindowHandle.java
│ │ │ ├── VideoWindowInfo.java
│ │ │ ├── WindowHandle.java
│ │ │ ├── pj_constants_.java
│ │ │ ├── pj_file_access.java
│ │ │ ├── pj_log_decoration.java
│ │ │ ├── pj_qos_flag.java
│ │ │ ├── pj_qos_params.java
│ │ │ ├── pj_qos_type.java
│ │ │ ├── pj_qos_wmm_prio.java
│ │ │ ├── pj_ssl_cipher.java
│ │ │ ├── pj_ssl_sock_proto.java
│ │ │ ├── pj_stun_nat_type.java
│ │ │ ├── pj_turn_tp_type.java
│ │ │ ├── pjmedia_aud_dev_cap.java
│ │ │ ├── pjmedia_aud_dev_route.java
│ │ │ ├── pjmedia_dir.java
│ │ │ ├── pjmedia_event_type.java
│ │ │ ├── pjmedia_file_player_option.java
│ │ │ ├── pjmedia_file_writer_option.java
│ │ │ ├── pjmedia_format_id.java
│ │ │ ├── pjmedia_srtp_use.java
│ │ │ ├── pjmedia_tone_desc.java
│ │ │ ├── pjmedia_tone_digit.java
│ │ │ ├── pjmedia_tone_digit_map.java
│ │ │ ├── pjmedia_tp_proto.java
│ │ │ ├── pjmedia_type.java
│ │ │ ├── pjmedia_vid_dev_std_index.java
│ │ │ ├── pjmedia_vid_stream_rc_method.java
│ │ │ ├── pjrpid_activity.java
│ │ │ ├── pjsip_cred_data_type.java
│ │ │ ├── pjsip_dialog_cap_status.java
│ │ │ ├── pjsip_event_id_e.java
│ │ │ ├── pjsip_evsub_state.java
│ │ │ ├── pjsip_hdr_e.java
│ │ │ ├── pjsip_inv_state.java
│ │ │ ├── pjsip_redirect_op.java
│ │ │ ├── pjsip_role_e.java
│ │ │ ├── pjsip_ssl_method.java
│ │ │ ├── pjsip_status_code.java
│ │ │ ├── pjsip_transport_flags_e.java
│ │ │ ├── pjsip_transport_state.java
│ │ │ ├── pjsip_transport_type_e.java
│ │ │ ├── pjsip_tsx_state_e.java
│ │ │ ├── pjsua2.java
│ │ │ ├── pjsua2Constants.java
│ │ │ ├── pjsua2JNI.java
│ │ │ ├── pjsua_100rel_use.java
│ │ │ ├── pjsua_buddy_status.java
│ │ │ ├── pjsua_call_flag.java
│ │ │ ├── pjsua_call_hold_type.java
│ │ │ ├── pjsua_call_media_status.java
│ │ │ ├── pjsua_call_vid_strm_op.java
│ │ │ ├── pjsua_create_media_transport_flag.java
│ │ │ ├── pjsua_destroy_flag.java
│ │ │ ├── pjsua_invalid_id_const_.java
│ │ │ ├── pjsua_ipv6_use.java
│ │ │ ├── pjsua_med_tp_st.java
│ │ │ ├── pjsua_sip_timer_use.java
│ │ │ ├── pjsua_state.java
│ │ │ ├── pjsua_stun_use.java
│ │ │ └── pjsua_vid_req_keyframe_method.java
│ │ └── webrtc
│ │ ├── MediaCodecVideoEncoder.java
│ │ ├── videoengine
│ │ ├── ViEAndroidGLES20.java
│ │ ├── ViERenderer.java
│ │ ├── ViESurfaceRenderer.java
│ │ ├── VideoCaptureAndroid.java
│ │ └── VideoCaptureDeviceInfoAndroid.java
│ │ └── voiceengine
│ │ ├── AudioManagerAndroid.java
│ │ ├── WebRtcAudioManager.java
│ │ ├── WebRtcAudioRecord.java
│ │ ├── WebRtcAudioTrack.java
│ │ └── WebRtcAudioUtils.java
│ ├── jniLibs
│ ├── armeabi-v7a
│ │ ├── libpjmediaengine.so
│ │ └── libpjsua2.so
│ └── armeabi
│ │ ├── libpjmediaengine.so
│ │ └── libpjsua2.so
│ └── res
│ ├── drawable-hdpi
│ ├── app_accept_call_icon.png
│ ├── app_call_error_icon.png
│ ├── app_call_user_bg.png
│ ├── app_call_user_icon.png
│ ├── app_call_wait_head_bg.png
│ ├── app_hangup_call_icon.png
│ ├── app_open_door_icon.png
│ ├── app_sip_audio_call_icon.png
│ ├── btn_call_background.png
│ ├── ic_addcontact.png
│ ├── ic_call.png
│ ├── ic_deletenumber.png
│ ├── ic_head.png
│ ├── ic_launcher.png
│ ├── ic_move.9.png
│ ├── ic_unonline.png
│ ├── perm_group_calendar_normal.png
│ ├── perm_group_calendar_selected.png
│ ├── perm_group_camera_normal.png
│ ├── perm_group_camera_selected.png
│ ├── status_green.png
│ ├── status_offline.png
│ ├── status_orange.png
│ ├── status_red.png
│ ├── v1_wg_bg.png
│ ├── v1_wg_close.png
│ ├── v1_wg_open.png
│ └── v1_wg_tx.png
│ ├── drawable-mdpi
│ ├── app_accept_call_icon.png
│ ├── app_call_error_icon.png
│ ├── app_call_user_bg.png
│ ├── app_call_user_icon.png
│ ├── app_call_wait_head_bg.png
│ ├── app_hangup_call_icon.png
│ ├── app_open_door_icon.png
│ ├── app_sip_audio_call_icon.png
│ └── ic_launcher.png
│ ├── drawable-v24
│ └── ic_launcher_foreground.xml
│ ├── drawable-xhdpi
│ ├── app_accept_call_icon.png
│ ├── app_call_error_icon.png
│ ├── app_call_user_bg.png
│ ├── app_call_user_icon.png
│ ├── app_call_wait_head_bg.png
│ ├── app_hangup_call_icon.png
│ ├── app_open_door_icon.png
│ ├── app_sip_audio_call_icon.png
│ ├── btn_camera.png
│ ├── btn_camera_press.png
│ ├── btn_phone.png
│ ├── btn_phone_press.png
│ ├── btn_video.png
│ ├── btn_video_press.png
│ ├── btn_voice.png
│ ├── btn_voice_press.png
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ ├── app_accept_call_icon.png
│ ├── app_call_error_icon.png
│ ├── app_call_user_bg.png
│ ├── app_call_user_icon.png
│ ├── app_call_wait_head_bg.png
│ ├── app_hangup_call_icon.png
│ ├── app_open_door_icon.png
│ ├── app_sip_audio_call_icon.png
│ └── ic_launcher.png
│ ├── drawable
│ ├── app_accept_call_icon.png
│ ├── app_hangup_call_icon.png
│ ├── app_open_door_icon.png
│ ├── app_video_shape_bg.xml
│ ├── bkg.xml
│ ├── btn_answer_video_phone.xml
│ ├── btn_camera_selector.xml
│ ├── btn_hang_up.xml
│ ├── btn_opendoor_selector.xml
│ ├── btn_voice_selector.xml
│ ├── ic_launcher_background.xml
│ ├── perm_group_calendar.xml
│ ├── perm_group_camera.xml
│ └── video_call_shape_bg.xml
│ ├── layout
│ ├── activity_main.xml
│ ├── activity_sip_call.xml
│ ├── fragment_sip_call_connect.xml
│ └── fragment_sip_call_wait.xml
│ ├── mipmap-anydpi-v26
│ ├── ic_launcher.xml
│ └── ic_launcher_round.xml
│ ├── mipmap-hdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-mdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── raw
│ ├── empty_number.wav
│ ├── no_people.wav
│ ├── outbound_ringback_tone.wav
│ ├── refuse_call.wav
│ ├── ringtone_long.wav
│ ├── user_busy.mp3
│ └── wait_call.wav
│ ├── values-sw300dp
│ └── dimens.xml
│ ├── values-sw310dp
│ └── dimens.xml
│ ├── values-sw320dp
│ └── dimens.xml
│ ├── values-sw330dp
│ └── dimens.xml
│ ├── values-sw340dp
│ └── dimens.xml
│ ├── values-sw350dp
│ └── dimens.xml
│ ├── values-sw360dp
│ └── dimens.xml
│ ├── values-sw370dp
│ └── dimens.xml
│ ├── values-sw380dp
│ └── dimens.xml
│ ├── values-sw390dp
│ └── dimens.xml
│ ├── values-sw391dp
│ └── dimens.xml
│ ├── values-sw392dp
│ └── dimens.xml
│ ├── values-sw393dp
│ └── dimens.xml
│ ├── values-sw400dp
│ └── dimens.xml
│ ├── values-sw410dp
│ └── dimens.xml
│ ├── values-sw420dp
│ └── dimens.xml
│ ├── values-sw430dp
│ └── dimens.xml
│ ├── values-sw440dp
│ └── dimens.xml
│ ├── values-sw450dp
│ └── dimens.xml
│ ├── values-sw460dp
│ └── dimens.xml
│ ├── values-sw470dp
│ └── dimens.xml
│ ├── values-sw480dp
│ └── dimens.xml
│ ├── values-sw490dp
│ └── dimens.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values-w820dp
│ └── dimens.xml
│ ├── values
│ ├── arrays.xml
│ ├── attrs.xml
│ ├── colors.xml
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
│ └── xml
│ └── preferences.xml
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── local.properties
└── settings.gradle
/.gradle/5.6.4/executionHistory/executionHistory.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/5.6.4/executionHistory/executionHistory.bin
--------------------------------------------------------------------------------
/.gradle/5.6.4/executionHistory/executionHistory.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/5.6.4/executionHistory/executionHistory.lock
--------------------------------------------------------------------------------
/.gradle/5.6.4/fileChanges/last-build.bin:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gradle/5.6.4/fileContent/fileContent.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/5.6.4/fileContent/fileContent.lock
--------------------------------------------------------------------------------
/.gradle/5.6.4/fileHashes/fileHashes.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/5.6.4/fileHashes/fileHashes.bin
--------------------------------------------------------------------------------
/.gradle/5.6.4/fileHashes/fileHashes.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/5.6.4/fileHashes/fileHashes.lock
--------------------------------------------------------------------------------
/.gradle/5.6.4/gc.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/5.6.4/gc.properties
--------------------------------------------------------------------------------
/.gradle/buildOutputCleanup/buildOutputCleanup.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/buildOutputCleanup/buildOutputCleanup.lock
--------------------------------------------------------------------------------
/.gradle/buildOutputCleanup/cache.properties:
--------------------------------------------------------------------------------
1 | #Fri Nov 06 16:48:47 GMT+08:00 2020
2 | gradle.version=5.6.4
3 |
--------------------------------------------------------------------------------
/.gradle/buildOutputCleanup/outputFiles.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/buildOutputCleanup/outputFiles.bin
--------------------------------------------------------------------------------
/.gradle/vcs-1/gc.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.gradle/vcs-1/gc.properties
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /workspace.xml
--------------------------------------------------------------------------------
/.idea/caches/build_file_checksums.ser:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/.idea/caches/build_file_checksums.ser
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
19 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_collection_collection_1_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_0_2_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_2_0_2_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_core_core_1_3_1_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_1_0_jar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_1_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_print_print_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_transition_transition_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__com_google_android_material_material_1_0_0_rc01_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__com_jeremyliao_live_event_bus_1_7_2_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/.idea/libraries/Gradle__com_tencent_mmkv_1_0_19_aar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PJSipSDK
2 | 基于pjsip的音视频通话SDK封装
3 |
4 | ```
5 | 1、org目录
6 |
7 | pjsip native层对接代码。不要动!!!
8 |
9 | 2、mediaengine目录
10 |
11 | 媒体库native层对接代码,不要动!!!
12 |
13 | 3、sipsdk目录
14 |
15 | 基于sip通话流程进行的封装,不要动!!!
16 |
17 | 4、binder目录
18 |
19 | 由于sip通话过程中会存在大量的内存消耗等问题,所以建议将SipServer运行在单独的进程中所以需要IPC通信
20 |
21 | 5、APPSipHelper
22 |
23 | SipServer的相关的帮助类
24 |
25 | (1)、启动SipServer :initSipService
26 | (2)、绑定SipServer,并注册sip账户:bindSipService
27 | (3)、发起sip通话:makeCall
28 | (4)、通过ISipCallEventProxy,获取通话记录
29 | 6、SipService
30 |
31 | SipServer抽象类,可参考XSipService
32 |
33 | 7、SipAccountHelper
34 | Sip账号工具类
35 | (1)、注册
36 | (2)、解注册
37 | (3)、监听注册状态
38 |
39 | 8、SipCallHelper
40 | Sip通话工具类
41 | (1)、发起通话
42 | (2)、挂断通话
43 | (3)、接听来电
44 | (4)、发送IM消息
45 |
46 | 9、SipCallRecordHelper
47 | Sip通话记录工具类
48 | (1)、记录当前通话信息
49 | (2)、通过IPC上报通话记录
50 | ```
--------------------------------------------------------------------------------
/SipSdk.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 29
5 | buildToolsVersion "29.0.3"
6 |
7 | defaultConfig {
8 | applicationId "com.coder.sipsdk"
9 | minSdkVersion 16
10 | targetSdkVersion 29
11 | versionCode 1
12 | versionName "1.0"
13 | ndk {
14 | abiFilters "armeabi"
15 | }
16 | }
17 |
18 | buildTypes {
19 | release {
20 | minifyEnabled false
21 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
22 | }
23 | }
24 | compileOptions {
25 | sourceCompatibility JavaVersion.VERSION_1_8
26 | targetCompatibility JavaVersion.VERSION_1_8
27 | }
28 | }
29 |
30 | dependencies {
31 | implementation fileTree(dir: 'libs', include: ['*.jar'])
32 |
33 | implementation 'androidx.appcompat:appcompat:1.2.0'
34 | implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
35 | implementation 'com.tencent:mmkv:1.0.19'
36 | implementation 'com.jeremyliao:live-event-bus:1.7.2'
37 | implementation 'com.google.android.material:material:1.0.0-rc01'
38 | }
39 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/aidl/com/android/internal/telephony/ITelephony.aidl:
--------------------------------------------------------------------------------
1 | package com.android.internal.telephony;
2 | interface ITelephony{
3 | boolean endCall();
4 | void answerRingingCall();
5 | }
--------------------------------------------------------------------------------
/app/src/main/aidl/com/cloudrtc/ISipCallback.aidl:
--------------------------------------------------------------------------------
1 | // ISipCallback.aidl
2 | package com.cloudrtc;
3 | import com.cloudrtc.binder.CallRecordBean;
4 | // Declare any non-default types here with import statements
5 |
6 | interface ISipCallback {
7 |
8 | void onResult(int responseCode, String actionName, String response);
9 |
10 | void onOpenDoor( String orgId,String uniqNum,String name,String subOrgId);
11 |
12 | void onCallRecord(inout CallRecordBean callRecord);
13 | }
14 |
--------------------------------------------------------------------------------
/app/src/main/aidl/com/cloudrtc/SipAidlServer.aidl:
--------------------------------------------------------------------------------
1 | // SipAidlServer.aidl
2 | package com.cloudrtc;
3 | import com.cloudrtc.ISipCallback;
4 | import com.cloudrtc.binder.SipCallRequest;
5 | import com.cloudrtc.binder.XierHeader;
6 | // Declare any non-default types here with import statements
7 |
8 | interface SipAidlServer {
9 | /**
10 | * Demonstrates some basic types that you can use as parameters
11 | * and return values in AIDL.
12 | */
13 |
14 | void makeCall(in SipCallRequest sipCallRequest,in XierHeader header);
15 |
16 | void unRegister();
17 |
18 | void register(String sipHost,String phoneNumber,String password,in ISipCallback callback);
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/app/src/main/aidl/com/cloudrtc/binder/CallRecordBean.aidl:
--------------------------------------------------------------------------------
1 | // CallRecordBean.aidl
2 | package com.cloudrtc.binder;
3 | parcelable CallRecordBean;
--------------------------------------------------------------------------------
/app/src/main/aidl/com/cloudrtc/binder/SipCallRequest.aidl:
--------------------------------------------------------------------------------
1 | // SipCallRequest.aidl
2 | package com.cloudrtc.binder;
3 | parcelable SipCallRequest;
--------------------------------------------------------------------------------
/app/src/main/aidl/com/cloudrtc/binder/XierHeader.aidl:
--------------------------------------------------------------------------------
1 | // SipCallRequest.aidl
2 | package com.cloudrtc.binder;
3 | parcelable XierHeader;
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/binder/XierHeader.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.binder;
2 |
3 | import android.os.Parcel;
4 | import android.os.Parcelable;
5 |
6 | import java.util.HashMap;
7 | import java.util.Map;
8 |
9 | /**
10 | * 创建时间:2020/11/2
11 | * 创建人:singleCode
12 | * 功能描述:
13 | **/
14 | public class XierHeader implements Parcelable {
15 | private Map headMap = new HashMap<>();
16 |
17 | public XierHeader() {
18 | }
19 |
20 | protected XierHeader(Parcel in) {
21 | headMap = in.readHashMap(HashMap.class.getClassLoader());
22 | }
23 |
24 | @Override
25 | public void writeToParcel(Parcel dest, int flags) {
26 | dest.writeMap(headMap);
27 | }
28 |
29 | @Override
30 | public int describeContents() {
31 | return 0;
32 | }
33 |
34 | public static final Creator CREATOR = new Creator() {
35 | @Override
36 | public XierHeader createFromParcel(Parcel in) {
37 | return new XierHeader(in);
38 | }
39 |
40 | @Override
41 | public XierHeader[] newArray(int size) {
42 | return new XierHeader[size];
43 | }
44 | };
45 |
46 | public void setHeader(String name, String value) {
47 | this.headMap.put(name,value);
48 | }
49 |
50 | public Map getHeadMap() {
51 | return headMap;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/CodecInst.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | public class CodecInst {
4 | private final long nativeCodecInst;
5 |
6 | // CodecInst can only be created from the native layer.
7 | private CodecInst(long nativeCodecInst) {
8 | this.nativeCodecInst = nativeCodecInst;
9 | }
10 |
11 | public String toString() {
12 | return name() + " " +
13 | "PlType: " + plType() + " " +
14 | "PlFreq: " + plFrequency() + " " +
15 | "Size: " + pacSize() + " " +
16 | "Channels: " + channels() + " " +
17 | "Rate: " + rate();
18 | }
19 |
20 | // Dispose must be called before all references to CodecInst are lost as it
21 | // will free memory allocated in the native layer.
22 | public native void dispose();
23 | public native int plType();
24 | public native String name();
25 | public native int plFrequency();
26 | public native int pacSize();
27 | public native int channels();
28 | public native int rate();
29 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/Engine.java:
--------------------------------------------------------------------------------
1 |
2 | package com.cloudrtc.mediaengine;
3 |
4 |
5 | import android.content.Context;
6 | import android.util.Log;
7 |
8 | public class Engine {
9 | static {
10 | System.loadLibrary("pjmediaengine");
11 | }
12 |
13 | public class TraceListener implements EngineListener {
14 | public void webrtc_trace(String msg, int length, int level){
15 | Log.i("WEBRTC_TRACE", msg+"=========length:"+length+",level:"+level);
16 | }
17 | }
18 | public void registertrace(Context context){
19 | RegisterTraceInfo(new TraceListener(),null,0x00ff);
20 | }
21 | public native void register(Context context);
22 | public native void unRegister();
23 | public native void RegisterTraceInfo(EngineListener listener,String filename,int level);
24 | public native void UnRegisterTraceInfo();
25 | ;}
26 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/EngineListener.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | public interface EngineListener {
4 | void webrtc_trace(String msg, int length, int level);
5 | };
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/MediaStreamType.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | import java.util.Vector;
4 |
5 | public class MediaStreamType {
6 | static private Vector values = new Vector();
7 | public static MediaStreamType AudioStream = new MediaStreamType("AudioStream", 1);
8 | public static MediaStreamType VideoStream = new MediaStreamType("VideoStream", 2);
9 | private String mStringValue;
10 | private int mIntgerValue;
11 | private MediaStreamType(String aStringValue,int aIntgerValue) {
12 | mStringValue = aStringValue;
13 | mIntgerValue = aIntgerValue;
14 | values.addElement(this);
15 | }
16 | public String toString() {
17 | return mStringValue;
18 | }
19 | public int IntgerValue()
20 | {
21 | return mIntgerValue;
22 | }
23 |
24 | public static MediaStreamType fromInt(int value) {
25 | for (int i = 0; i < values.size(); i++) {
26 | MediaStreamType mtype = (MediaStreamType) values.elementAt(i);
27 | if (mtype.mIntgerValue == value) return mtype;
28 | }
29 | throw new RuntimeException("CallState not found [" + value + "]");
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/VideoCaptureObserver.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | public interface VideoCaptureObserver{
4 | public void OnCaptureFrame(byte[] data, int rotation, long captureMs);
5 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/VideoCodecInst.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | public class VideoCodecInst {
4 | private final long nativeCodecInst;
5 |
6 | // VideoCodecInst can only be created from the native layer.
7 | private VideoCodecInst(long nativeCodecInst) {
8 | this.nativeCodecInst = nativeCodecInst;
9 | }
10 |
11 | public String toString() {
12 | return name() + " " +
13 | "PlType: " + plType() + " " +
14 | "Width: " + width() + " " +
15 | "Height: " + height() + " " +
16 | "StartBitRate: " + startBitRate() + " " +
17 | "MaxFrameRate: " + maxFrameRate();
18 | }
19 |
20 | // Dispose must be called before all references to VideoCodecInst are lost as
21 | // it will free memory allocated in the native layer.
22 | public native void dispose();
23 | public native int plType();
24 | public native String name();
25 | public native int width();
26 | public native void setWidth(int width);
27 | public native int height();
28 | public native void setHeight(int height);
29 | public native int startBitRate();
30 | public native void setStartBitRate(int bitrate);
31 | public native int maxBitRate();
32 | public native void setMaxBitRate(int bitrate);
33 | public native int maxFrameRate();
34 | public native void setMaxFrameRate(int framerate);
35 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/VideoDecodeEncodeObserver.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | public interface VideoDecodeEncodeObserver {
4 | void incomingRate(int videoChannel, int framerate, int bitrate);
5 |
6 | // VideoCodecInst.dispose must be called for |videoCodec| before all
7 | // references to it are lost as it will free memory allocated in the native
8 | // layer.
9 | void incomingCodecChanged(int videoChannel, VideoCodecInst videoCodec);
10 |
11 | void requestNewKeyFrame(int videoChannel);
12 |
13 | void outgoingRate(int videoChannel, int framerate, int bitrate);
14 | }
15 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/VideoEngine.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | import android.view.SurfaceView;
4 |
5 | public class VideoEngine {
6 |
7 | public VideoEngine() {
8 | }
9 |
10 | public native int StartSending(int camera_index, int rotation, SurfaceView local_renderer);
11 | public native int StopSending();
12 | public native int StartReceiving(SurfaceView remote_renderer);
13 | public native int StopReceiving();
14 | public native int getVideoChannel();
15 | public native int connectAudioChannel(int videoChannel, int voiceChannel);
16 | public native int numberOfCodecs();
17 |
18 | public native int RegisterVideoStreamObserver(VideoStreamObserver cb);
19 | public native int DeRegisterVideoStreamObserver();
20 |
21 | public native int setReceiveCodec();
22 | public native int setSendCodec(int StartBitRate, int Width, int Height, int MaxFrameRate);
23 |
24 | //public native int getOrientation(CameraDesc camera);
25 | public native int setVideoRotations(int cameraId, int degrees);
26 | public native int setNackStatus(int channel, boolean enable);
27 |
28 | public native int SetupVideoChannel(int width, int height, int fps, int bitrate);
29 |
30 | public native void ChangeCamera(int camera_index, int rotation_new, SurfaceView local_renderer);
31 | public native int GetCameraOrientation(int cam_index);
32 | public native void ChangeCaptureRotation(int rotation);
33 |
34 | public native int RegisterVideoCaptureObserver(VideoCaptureObserver cb);
35 | public native int DeRegisterVideoCaptureObserver();
36 | // public native void SetVideoCodec(String video_codecs);
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/VideoFrameInfo.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | public class VideoFrameInfo {
4 | public int rx_bitrate = 0;
5 | public int tx_bitrate = 0;
6 | public int rx_framerate = 0;
7 | public int tx_framerate = 0;
8 | public int rx_video_width = 0;
9 | public int rx_video_height = 0;
10 | }
11 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/VideoStreamObserver.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | public interface VideoStreamObserver {
4 |
5 | public void OnIncomingRate(int video_channel, int framerate, int bitrate);
6 |
7 | public void OnOutgoingRate(int video_channel, int framerate, int bitrate);
8 |
9 | public void OnVideoFrameSizeChanged(int video_channel, int width, int height);
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/mediaengine/VoiceStreamObserver.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.mediaengine;
2 |
3 | public interface VoiceStreamObserver {
4 | public void OnAudioIncomingSize(int size);
5 | }
6 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/callback/SipAccountCallBack.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.callback;
2 |
3 | import com.cloudrtc.sipsdk.api.entity.RegisterStatus;
4 | import com.cloudrtc.sipsdk.api.entity.SipCallInfoEntity;
5 | import com.cloudrtc.sipsdk.api.sip.SipAccount;
6 |
7 | import org.pjsip.pjsua2.OnInstantMessageParam;
8 |
9 | /**
10 | * 创建时间:2020/4/26
11 | * 创建人:singleCode
12 | * 功能描述:账户监听
13 | **/
14 | public interface SipAccountCallBack extends SipCommandCallBack{
15 | void onRegisterStatus(RegisterStatus status);
16 | void onInstantMessage(OnInstantMessageParam prm);
17 | void onIncomingCall(SipAccount account, int callId, SipCallInfoEntity recordBean);
18 | boolean isCallActive();
19 | }
20 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/callback/SipCallCallBack.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.callback;
2 |
3 |
4 | /**
5 | * 创建时间:2020/4/23
6 | * 创建人:singleCode
7 | * 功能描述:
8 | **/
9 | public interface SipCallCallBack extends SipCommandCallBack {
10 | void onCallConnected(String uri);
11 | void onCallEnd();
12 | void onCallFailed(int code);
13 | void onCallDtmf();
14 | }
15 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/callback/SipCallStatusListener.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.callback;
2 |
3 | import com.cloudrtc.sipsdk.api.entity.CallStatus;
4 | import com.cloudrtc.sipsdk.api.entity.RegisterStatus;
5 | import com.cloudrtc.sipsdk.api.entity.SipCallRxStatus;
6 | import com.cloudrtc.sipsdk.api.sip.SipAccount;
7 | import com.cloudrtc.sipsdk.api.sip.SipCall;
8 |
9 | /**
10 | * 创建时间:2020/5/8
11 | * 创建人:singleCode
12 | * 功能描述:通话监听
13 | **/
14 | public interface SipCallStatusListener {
15 | /**
16 | * 注册状态
17 | * @param account
18 | * @param status
19 | */
20 | void onRegisterStatus(SipAccount account, RegisterStatus status);
21 |
22 | /**
23 | * 会话状态
24 | * @param account
25 | * @param call
26 | * @param status
27 | */
28 | void onCallStatus(SipAccount account, SipCall call, CallStatus status);
29 |
30 | /**
31 | * 远端服务器通过Account instantMessage返回的通话状态 如:refuse_call wait_call user_busy等
32 | * @param account
33 | * @param call
34 | * @param status
35 | */
36 | void onCallRxStatus(SipAccount account, SipCall call, SipCallRxStatus status);
37 |
38 | /**
39 | * 视频流状态
40 | * @param account
41 | * @param call
42 | * @param open 视频是否开启
43 | */
44 | void onVideoStatusChange(SipAccount account, SipCall call, boolean open);
45 |
46 | /**
47 | * 视频分辨率
48 | * @param video_channel
49 | * @param width
50 | * @param height
51 | */
52 | void OnVideoFrameSizeChanged(int video_channel, int width, int height);
53 |
54 | /**
55 | * 音频size、以及dtmf
56 | * @param size
57 | */
58 | void OnAudioIncomingSize(int size);
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/callback/SipCommandCallBack.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.callback;
2 |
3 | /**
4 | * 创建时间:2020/5/8
5 | * 创建人:singleCode
6 | * 功能描述:
7 | **/
8 | public interface SipCommandCallBack {
9 | void onRemoteCommand(String sdpDescription);
10 | }
11 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/callback/SipLogListener.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.callback;
2 |
3 | /**
4 | * 创建时间:2020/11/3
5 | * 创建人:singleCode
6 | * 功能描述:日志监听
7 | **/
8 | public interface SipLogListener {
9 | void onSipLog(String message);
10 | }
11 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/entity/CallStatus.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.entity;
2 |
3 | /**
4 | * 创建时间:2020/5/8
5 | * 创建人:singleCode
6 | * 功能描述:sip通话状态
7 | **/
8 | public enum CallStatus {
9 | CALL_CONNECTED,//通话建立成功
10 | CALL_FAILED,//通话失败
11 | CALL_END,//通话结束
12 | CALL_INCOMING,//来电中
13 | CALL_OUTGOING;//去电中
14 | }
15 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/entity/Direction.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.entity;
2 |
3 | import java.util.Vector;
4 |
5 | public class Direction {
6 | private static Vector values = new Vector();
7 | public static Direction Incoming = new Direction("Callincoming",0);
8 | public static Direction Outgoing = new Direction("CallOutgoing",1);
9 | private String mStringValue;
10 | private int mIntgerValue;
11 |
12 | private Direction(String aStringValue, int aIntgerValue) {
13 | mStringValue = aStringValue;
14 | mIntgerValue = aIntgerValue;
15 | values.addElement(this);
16 | }
17 |
18 | public String toString() {
19 | return mStringValue;
20 | }
21 |
22 | public int IntgerValue()
23 | {
24 | return mIntgerValue;
25 | }
26 |
27 | public static Direction fromInt(int value) {
28 | for (int i = 0; i < values.size(); i++) {
29 | Direction mtype = (Direction) values.elementAt(i);
30 | if (mtype.mIntgerValue == value) return mtype;
31 | }
32 | throw new RuntimeException("Direction not found [" + value + "]");
33 | }
34 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/entity/RegisterEntity.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.entity;
2 |
3 | /**
4 | * 创建时间:2020/11/3
5 | * 创建人:singleCode
6 | * 功能描述:
7 | **/
8 | public class RegisterEntity {
9 | private String server;
10 | private String userId;
11 | private String sipPwd;
12 | private boolean restart;
13 |
14 | public RegisterEntity(String server, String userId, String sipPwd, boolean restart) {
15 | this.server = server;
16 | this.userId = userId;
17 | this.sipPwd = sipPwd;
18 | this.restart = restart;
19 | }
20 |
21 | public String getServer() {
22 | return server;
23 | }
24 |
25 | public void setServer(String server) {
26 | this.server = server;
27 | }
28 |
29 | public String getUserId() {
30 | return userId;
31 | }
32 |
33 | public void setUserId(String userId) {
34 | this.userId = userId;
35 | }
36 |
37 | public String getSipPwd() {
38 | return sipPwd;
39 | }
40 |
41 | public void setSipPwd(String sipPwd) {
42 | this.sipPwd = sipPwd;
43 | }
44 |
45 | public boolean isRestart() {
46 | return restart;
47 | }
48 |
49 | public void setRestart(boolean restart) {
50 | this.restart = restart;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/entity/RegisterStatus.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.entity;
2 |
3 | /**
4 | * 创建时间:2020/4/26
5 | * 创建人:singleCode
6 | * 功能描述:
7 | **/
8 | public class RegisterStatus {
9 | private int code;
10 | private String reason;
11 |
12 | public RegisterStatus(int code, String reason) {
13 | this.code = code;
14 | this.reason = reason;
15 | }
16 |
17 | public int getCode() {
18 | return code;
19 | }
20 |
21 | public void setCode(int code) {
22 | this.code = code;
23 | }
24 |
25 | public String getReason() {
26 | return reason;
27 | }
28 |
29 | public void setReason(String reason) {
30 | this.reason = reason;
31 | }
32 |
33 | @Override
34 | public String toString() {
35 | return "RegisterStatus{" +
36 | "code=" + code +
37 | ", reason='" + reason + '\'' +
38 | '}';
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/entity/SipCallRxStatus.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.entity;
2 |
3 | /**
4 | * 创建时间:2020/11/2
5 | * 创建人:singleCode
6 | * 功能描述:
7 | **/
8 | public enum SipCallRxStatus {
9 | refuse_call,//拒绝通话
10 | no_people,//无人接听
11 | wait_call,//等待
12 | empty_number,//空号
13 | user_busy,//用户忙
14 | open_door,//开门
15 | }
16 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/manager/media/AudioMediaManager.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.manager.media;
2 |
3 | import android.content.Context;
4 | import android.util.Log;
5 |
6 | import com.cloudrtc.mediaengine.CloudRtcAudioManager;
7 |
8 | /**
9 | * 创建时间:2020/5/8
10 | * 创建人:singleCode
11 | * 功能描述:audio 管理类
12 | **/
13 | public class AudioMediaManager {
14 | private CloudRtcAudioManager rtcAudioManager;
15 |
16 | private static AudioMediaManager manager;
17 | public AudioMediaManager(){
18 |
19 | }
20 | // public static AudioMediaManager getManager(){
21 | // if(manager == null){
22 | // synchronized (AudioMediaManager.class){
23 | // if(manager == null){
24 | // manager = new AudioMediaManager();
25 | // }
26 | // }
27 | // }
28 | // return manager;
29 | // }
30 |
31 | public CloudRtcAudioManager getRtcAudio(Context context){
32 | if(rtcAudioManager == null){
33 | rtcAudioManager = CloudRtcAudioManager.create(context, new Runnable() {
34 | @Override
35 | public void run() {
36 |
37 | }
38 | });
39 | Log.d("AudioMediaManager", "Initializing the audio manager...");
40 | rtcAudioManager.init();
41 | }
42 | return rtcAudioManager;
43 | }
44 |
45 |
46 | public boolean setLoudspeakerStatus(boolean yesno) {
47 | boolean speaker_on = yesno;
48 | if(rtcAudioManager != null)
49 | rtcAudioManager.SetLoudspeakerStatus(speaker_on);
50 | return true;
51 | }
52 | public void muteMic(boolean yesno) {
53 | // TODO Auto-generated method stub
54 | boolean mute_on = yesno;
55 | if(rtcAudioManager != null)
56 | rtcAudioManager.setMicrophoneMute(mute_on);
57 | }
58 | public void closeRtcAudio() {
59 | if (rtcAudioManager != null) {
60 | rtcAudioManager.close();
61 | rtcAudioManager = null;
62 | }
63 | }
64 |
65 | }
66 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/sip/SipAbstractConfig.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.sip;
2 |
3 | import android.content.Context;
4 |
5 | import org.pjsip.pjsua2.AccountConfig;
6 | import org.pjsip.pjsua2.AuthCredInfo;
7 | import org.pjsip.pjsua2.pj_turn_tp_type;
8 |
9 | /**
10 | * 创建时间:2020/4/26
11 | * 创建人:singleCode
12 | * 功能描述:
13 | **/
14 | public abstract class SipAbstractConfig {
15 |
16 | public abstract String getTransportType();
17 |
18 | public abstract String getTransportData();
19 |
20 | public abstract String getIdUri();
21 |
22 | public abstract String getRegisterUri();
23 |
24 | public abstract long getTimeoutSec();
25 |
26 | public abstract long getDelayBeforeRefreshSec();
27 |
28 | public abstract AuthCredInfo getAuthCredInfo();
29 |
30 | public abstract String getTurnUserName();
31 |
32 | public abstract String getTurnPassword();
33 |
34 | public abstract String getTurnServer();
35 |
36 | public abstract pj_turn_tp_type getTurnConnectType();
37 |
38 | public abstract int getTurnPasswordType();
39 |
40 | public abstract boolean IceEnable();
41 |
42 | public abstract boolean TurnEnable();
43 |
44 | public abstract AccountConfig getAccountConfig();
45 |
46 | public abstract String getAudio_codecs(Context context);
47 |
48 | public abstract String getVideo_codecs(Context context);
49 |
50 |
51 |
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/sip/SipLogWriter.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.sip;
2 |
3 | import android.util.Log;
4 |
5 | import com.cloudrtc.sipsdk.api.callback.SipLogListener;
6 |
7 | import org.pjsip.pjsua2.LogEntry;
8 | import org.pjsip.pjsua2.LogWriter;
9 |
10 | /**
11 | * 创建时间:2020/4/26
12 | * 创建人:singleCode
13 | * 功能描述:
14 | **/
15 | public class SipLogWriter extends LogWriter {
16 | private int logLevel;
17 | private SipLogListener listener;
18 | public SipLogWriter(int logLevel, SipLogListener logListener){
19 | this.logLevel = logLevel;
20 | this.listener = logListener;
21 | }
22 | public int getLogLevel() {
23 | return logLevel;
24 | }
25 |
26 | @Override
27 | public void write(LogEntry entry)
28 | {
29 | Log.d("SipLogWriter", "sip_msg: "+entry.getMsg());
30 | if(listener != null){
31 | listener.onSipLog(entry.getMsg());
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/sip/SipVideoConfig.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.sip;
2 |
3 | /**
4 | * 创建时间:2020/11/4
5 | * 创建人:singleCode
6 | * 功能描述:
7 | **/
8 | public class SipVideoConfig {
9 | private int width;
10 | private int height;
11 | private int fps;
12 | private int bitrate;
13 |
14 | public SipVideoConfig(int width, int height, int fps, int bitrate) {
15 | this.width = width;
16 | this.height = height;
17 | this.fps = fps;
18 | this.bitrate = bitrate;
19 | }
20 |
21 | public int getWidth() {
22 | return width;
23 | }
24 |
25 | public int getHeight() {
26 | return height;
27 | }
28 |
29 | public int getFps() {
30 | return fps;
31 | }
32 |
33 | public int getBitrate() {
34 | return bitrate;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/api/util/SipCommandUtil.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.api.util;
2 |
3 | /**
4 | * 创建时间:2020/4/26
5 | * 创建人:singleCode
6 | * 功能描述:
7 | **/
8 | public class SipCommandUtil {
9 | public static String audioCall = "0x0001"; //本地语音呼叫
10 | public static String videoCall = "0x0010";//本地视频呼叫
11 | public static String fullCall = "0x0011";//本地语音视频呼叫
12 |
13 | public static String raudioCall = "0x0100";//远程语音呼叫
14 | public static String rvideoCall = "0x1000";//远程视频呼叫
15 | public static String rfullCall = "0x1100";//远程语音视频呼叫
16 |
17 | public static String SurveillanceCommand = "0x1111";
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/db/ISipCallEventProxy.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.db;
2 |
3 | import com.cloudrtc.binder.CallRecordBean;
4 |
5 | /**
6 | * 创建时间:2020/11/5
7 | * 创建人:singleCode
8 | * 功能描述:通话记录数据库代理
9 | **/
10 | public interface ISipCallEventProxy {
11 | /**
12 | * 通话通话记录
13 | * @param callRecord
14 | */
15 | void onSaveCallRecord(CallRecordBean callRecord);
16 |
17 | /**
18 | *
19 | * @param responseCode 100:通话建立 101:通话结束
20 | * @param actionName
21 | * @param response
22 | */
23 | void onCallResult(int responseCode, String actionName, String response);
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/event/IBaseEvent.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.event;
2 |
3 | import com.jeremyliao.liveeventbus.core.LiveEvent;
4 |
5 | /**
6 | * 创建时间:2020/10/27
7 | * 创建人:singleCode
8 | * 功能描述:事件必须继承该接口
9 | **/
10 | public interface IBaseEvent extends LiveEvent {
11 | }
12 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/sipsdk/event/SipEvent.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.sipsdk.event;
2 |
3 |
4 | /**
5 | * 创建时间:2020/8/21
6 | * 创建人:singleCode
7 | * 功能描述:
8 | **/
9 | public class SipEvent implements IBaseEvent {
10 | public static final int MAKE_CALL = 0;//打电话
11 | public static final int HANG_UP_CALL = 1;//挂断、拒绝
12 | public static final int ANSWER_CALL = 2;//接听
13 | public static final int SEND_IM = 3;//发送消息
14 | public static final int SWITCH_TO_AUDIO = 4;//切换到只音频通话
15 | public static final int REGISTER = 5;//注册
16 | public static final int UNREGISTER = 6;//注销
17 | private int eventCode;
18 | private Object eventData;
19 | public SipEvent(int eventCode) {
20 | this.eventCode = eventCode;
21 | }
22 |
23 | public SipEvent(int eventCode, Object eventData) {
24 | this.eventCode = eventCode;
25 | this.eventData = eventData;
26 | }
27 |
28 | public Object getEventData() {
29 | return eventData;
30 | }
31 |
32 | public int getEventCode() {
33 | return eventCode;
34 | }
35 |
36 | @Override
37 | public String toString() {
38 | return "UiCallEvent{" +
39 | "eventCode=" + eventCode +
40 | ", eventData=" + eventData +
41 | '}';
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/ui/SipCallCountTimer.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.ui;
2 |
3 | import android.os.CountDownTimer;
4 | import android.util.Log;
5 |
6 | import com.cloudrtc.sipsdk.api.SipCallHelper;
7 | import com.cloudrtc.ui.activity.AppSipCallActivity;
8 |
9 | import java.lang.ref.WeakReference;
10 |
11 | /**
12 | * 创建时间:2020/11/3
13 | * 创建人:singleCode
14 | * 功能描述:
15 | **/
16 | public class SipCallCountTimer extends CountDownTimer {
17 | private String TAG = SipCallCountTimer.class.getSimpleName();
18 | private WeakReference weakReference;
19 | /**
20 | * @param millisInFuture The number of millis in the future from the call
21 | * to {@link #start()} until the countdown is done and {@link #onFinish()}
22 | * is called.
23 | * @param countDownInterval The interval along the way to receive
24 | * {@link #onTick(long)} callbacks.
25 | */
26 | public SipCallCountTimer(AppSipCallActivity activity,long millisInFuture, long countDownInterval) {
27 | super(millisInFuture, countDownInterval);
28 | weakReference = new WeakReference<>(activity);
29 | }
30 |
31 | @Override
32 | public void onTick(long millisUntilFinished) {
33 |
34 | }
35 |
36 | @Override
37 | public void onFinish() {
38 | Log.d(TAG, "CountTimer onFinish ");
39 | AppSipCallActivity appSipCallActivity = weakReference.get();
40 | if(appSipCallActivity != null){
41 | SipCallHelper.hangUp();
42 | appSipCallActivity.finishActivity();
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/ui/event/SipRegisterStatusEvent.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.ui.event;
2 |
3 |
4 | import com.cloudrtc.sipsdk.event.IBaseEvent;
5 |
6 | /**
7 | * 创建时间:2020/8/31
8 | * 创建人:singleCode
9 | * 功能描述:
10 | **/
11 | public class SipRegisterStatusEvent implements IBaseEvent {
12 | private boolean isRegister;
13 |
14 | public SipRegisterStatusEvent(boolean isRegister) {
15 | this.isRegister = isRegister;
16 | }
17 |
18 | public boolean isRegister() {
19 | return isRegister;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/ui/media/IPlayCompleteListener.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.ui.media;
2 |
3 | /**
4 | * 创建时间:2020/11/5
5 | * 创建人:singleCode
6 | * 功能描述:
7 | **/
8 | public interface IPlayCompleteListener {
9 | void playMusicComplete(MediaPlayerRequest request);
10 | }
11 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cloudrtc/ui/util/DensityUtil.java:
--------------------------------------------------------------------------------
1 | package com.cloudrtc.ui.util;
2 |
3 | import android.content.Context;
4 |
5 | /**
6 | * 创建时间:2020/5/17
7 | * 创建人:singleCode
8 | * 功能描述:dp、sp转换工具
9 | **/
10 | public class DensityUtil {
11 | /**
12 | * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
13 | */
14 | public static int dip2px(Context context, float dpValue) {
15 | final float scale = context.getResources().getDisplayMetrics().density; // 获取手机的屏幕的密度
16 | return (int) (dpValue * scale + 0.5f);
17 | }
18 |
19 | /**
20 | * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
21 | */
22 | public static int px2dip(Context context, float pxValue) {
23 | final float scale = context.getResources().getDisplayMetrics().density;
24 | return (int) (pxValue / scale + 0.5f);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/CallSendRequestParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class CallSendRequestParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected CallSendRequestParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(CallSendRequestParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_CallSendRequestParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setMethod(String value) {
39 | pjsua2JNI.CallSendRequestParam_method_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getMethod() {
43 | return pjsua2JNI.CallSendRequestParam_method_get(swigCPtr, this);
44 | }
45 |
46 | public void setTxOption(SipTxOption value) {
47 | pjsua2JNI.CallSendRequestParam_txOption_set(swigCPtr, this, SipTxOption.getCPtr(value), value);
48 | }
49 |
50 | public SipTxOption getTxOption() {
51 | long cPtr = pjsua2JNI.CallSendRequestParam_txOption_get(swigCPtr, this);
52 | return (cPtr == 0) ? null : new SipTxOption(cPtr, false);
53 | }
54 |
55 | public CallSendRequestParam() {
56 | this(pjsua2JNI.new_CallSendRequestParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/CodecInfo.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class CodecInfo {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected CodecInfo(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(CodecInfo obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_CodecInfo(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setCodecId(String value) {
39 | pjsua2JNI.CodecInfo_codecId_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getCodecId() {
43 | return pjsua2JNI.CodecInfo_codecId_get(swigCPtr, this);
44 | }
45 |
46 | public void setPriority(short value) {
47 | pjsua2JNI.CodecInfo_priority_set(swigCPtr, this, value);
48 | }
49 |
50 | public short getPriority() {
51 | return pjsua2JNI.CodecInfo_priority_get(swigCPtr, this);
52 | }
53 |
54 | public void setDesc(String value) {
55 | pjsua2JNI.CodecInfo_desc_set(swigCPtr, this, value);
56 | }
57 |
58 | public String getDesc() {
59 | return pjsua2JNI.CodecInfo_desc_get(swigCPtr, this);
60 | }
61 |
62 | public CodecInfo() {
63 | this(pjsua2JNI.new_CodecInfo(), true);
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/FindBuddyMatch.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class FindBuddyMatch {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected FindBuddyMatch(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(FindBuddyMatch obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_FindBuddyMatch(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | protected void swigDirectorDisconnect() {
39 | swigCMemOwn = false;
40 | delete();
41 | }
42 |
43 | public void swigReleaseOwnership() {
44 | swigCMemOwn = false;
45 | pjsua2JNI.FindBuddyMatch_change_ownership(this, swigCPtr, false);
46 | }
47 |
48 | public void swigTakeOwnership() {
49 | swigCMemOwn = true;
50 | pjsua2JNI.FindBuddyMatch_change_ownership(this, swigCPtr, true);
51 | }
52 |
53 | public boolean match(String token, Buddy buddy) {
54 | return (getClass() == FindBuddyMatch.class) ? pjsua2JNI.FindBuddyMatch_match(swigCPtr, this, token, Buddy.getCPtr(buddy), buddy) : pjsua2JNI.FindBuddyMatch_matchSwigExplicitFindBuddyMatch(swigCPtr, this, token, Buddy.getCPtr(buddy), buddy);
55 | }
56 |
57 | public FindBuddyMatch() {
58 | this(pjsua2JNI.new_FindBuddyMatch(), true);
59 | pjsua2JNI.FindBuddyMatch_director_connect(this, swigCPtr, swigCMemOwn, true);
60 | }
61 |
62 | }
63 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/JsonDocument.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class JsonDocument extends PersistentDocument {
12 | private long swigCPtr;
13 |
14 | protected JsonDocument(long cPtr, boolean cMemoryOwn) {
15 | super(pjsua2JNI.JsonDocument_SWIGUpcast(cPtr), cMemoryOwn);
16 | swigCPtr = cPtr;
17 | }
18 |
19 | protected static long getCPtr(JsonDocument obj) {
20 | return (obj == null) ? 0 : obj.swigCPtr;
21 | }
22 |
23 | protected void finalize() {
24 | delete();
25 | }
26 |
27 | public synchronized void delete() {
28 | if (swigCPtr != 0) {
29 | if (swigCMemOwn) {
30 | swigCMemOwn = false;
31 | pjsua2JNI.delete_JsonDocument(swigCPtr);
32 | }
33 | swigCPtr = 0;
34 | }
35 | super.delete();
36 | }
37 |
38 | public JsonDocument() {
39 | this(pjsua2JNI.new_JsonDocument(), true);
40 | }
41 |
42 | public void loadFile(String filename) throws Exception {
43 | pjsua2JNI.JsonDocument_loadFile(swigCPtr, this, filename);
44 | }
45 |
46 | public void loadString(String input) throws Exception {
47 | pjsua2JNI.JsonDocument_loadString(swigCPtr, this, input);
48 | }
49 |
50 | public void saveFile(String filename) throws Exception {
51 | pjsua2JNI.JsonDocument_saveFile(swigCPtr, this, filename);
52 | }
53 |
54 | public String saveString() throws Exception {
55 | return pjsua2JNI.JsonDocument_saveString(swigCPtr, this);
56 | }
57 |
58 | public ContainerNode getRootContainer() {
59 | return new ContainerNode(pjsua2JNI.JsonDocument_getRootContainer(swigCPtr, this), false);
60 | }
61 |
62 | }
63 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/LogWriter.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class LogWriter {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected LogWriter(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(LogWriter obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_LogWriter(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | protected void swigDirectorDisconnect() {
39 | swigCMemOwn = false;
40 | delete();
41 | }
42 |
43 | public void swigReleaseOwnership() {
44 | swigCMemOwn = false;
45 | pjsua2JNI.LogWriter_change_ownership(this, swigCPtr, false);
46 | }
47 |
48 | public void swigTakeOwnership() {
49 | swigCMemOwn = true;
50 | pjsua2JNI.LogWriter_change_ownership(this, swigCPtr, true);
51 | }
52 |
53 | public void write(LogEntry entry) {
54 | pjsua2JNI.LogWriter_write(swigCPtr, this, LogEntry.getCPtr(entry), entry);
55 | }
56 |
57 | public LogWriter() {
58 | this(pjsua2JNI.new_LogWriter(), true);
59 | pjsua2JNI.LogWriter_director_connect(this, swigCPtr, swigCMemOwn, true);
60 | }
61 |
62 | }
63 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/LossType.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class LossType {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected LossType(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(LossType obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_LossType(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setBurst(long value) {
39 | pjsua2JNI.LossType_burst_set(swigCPtr, this, value);
40 | }
41 |
42 | public long getBurst() {
43 | return pjsua2JNI.LossType_burst_get(swigCPtr, this);
44 | }
45 |
46 | public void setRandom(long value) {
47 | pjsua2JNI.LossType_random_set(swigCPtr, this, value);
48 | }
49 |
50 | public long getRandom() {
51 | return pjsua2JNI.LossType_random_get(swigCPtr, this);
52 | }
53 |
54 | public LossType() {
55 | this(pjsua2JNI.new_LossType(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/Media.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class Media {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected Media(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(Media obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_Media(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public pjmedia_type getType() {
39 | return pjmedia_type.swigToEnum(pjsua2JNI.Media_getType(swigCPtr, this));
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/MediaCoordinate.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class MediaCoordinate {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected MediaCoordinate(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(MediaCoordinate obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_MediaCoordinate(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setX(int value) {
39 | pjsua2JNI.MediaCoordinate_x_set(swigCPtr, this, value);
40 | }
41 |
42 | public int getX() {
43 | return pjsua2JNI.MediaCoordinate_x_get(swigCPtr, this);
44 | }
45 |
46 | public void setY(int value) {
47 | pjsua2JNI.MediaCoordinate_y_set(swigCPtr, this, value);
48 | }
49 |
50 | public int getY() {
51 | return pjsua2JNI.MediaCoordinate_y_get(swigCPtr, this);
52 | }
53 |
54 | public MediaCoordinate() {
55 | this(pjsua2JNI.new_MediaCoordinate(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/MediaEventData.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class MediaEventData {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected MediaEventData(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(MediaEventData obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_MediaEventData(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setFmtChanged(MediaFmtChangedEvent value) {
39 | pjsua2JNI.MediaEventData_fmtChanged_set(swigCPtr, this, MediaFmtChangedEvent.getCPtr(value), value);
40 | }
41 |
42 | public MediaFmtChangedEvent getFmtChanged() {
43 | long cPtr = pjsua2JNI.MediaEventData_fmtChanged_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new MediaFmtChangedEvent(cPtr, false);
45 | }
46 |
47 | public void setPtr(SWIGTYPE_p_void value) {
48 | pjsua2JNI.MediaEventData_ptr_set(swigCPtr, this, SWIGTYPE_p_void.getCPtr(value));
49 | }
50 |
51 | public SWIGTYPE_p_void getPtr() {
52 | long cPtr = pjsua2JNI.MediaEventData_ptr_get(swigCPtr, this);
53 | return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
54 | }
55 |
56 | public MediaEventData() {
57 | this(pjsua2JNI.new_MediaEventData(), true);
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/MediaFmtChangedEvent.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class MediaFmtChangedEvent {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected MediaFmtChangedEvent(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(MediaFmtChangedEvent obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_MediaFmtChangedEvent(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setNewWidth(long value) {
39 | pjsua2JNI.MediaFmtChangedEvent_newWidth_set(swigCPtr, this, value);
40 | }
41 |
42 | public long getNewWidth() {
43 | return pjsua2JNI.MediaFmtChangedEvent_newWidth_get(swigCPtr, this);
44 | }
45 |
46 | public void setNewHeight(long value) {
47 | pjsua2JNI.MediaFmtChangedEvent_newHeight_set(swigCPtr, this, value);
48 | }
49 |
50 | public long getNewHeight() {
51 | return pjsua2JNI.MediaFmtChangedEvent_newHeight_get(swigCPtr, this);
52 | }
53 |
54 | public MediaFmtChangedEvent() {
55 | this(pjsua2JNI.new_MediaFmtChangedEvent(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/MediaFormat.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class MediaFormat {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected MediaFormat(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(MediaFormat obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_MediaFormat(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setId(long value) {
39 | pjsua2JNI.MediaFormat_id_set(swigCPtr, this, value);
40 | }
41 |
42 | public long getId() {
43 | return pjsua2JNI.MediaFormat_id_get(swigCPtr, this);
44 | }
45 |
46 | public void setType(pjmedia_type value) {
47 | pjsua2JNI.MediaFormat_type_set(swigCPtr, this, value.swigValue());
48 | }
49 |
50 | public pjmedia_type getType() {
51 | return pjmedia_type.swigToEnum(pjsua2JNI.MediaFormat_type_get(swigCPtr, this));
52 | }
53 |
54 | public MediaFormat() {
55 | this(pjsua2JNI.new_MediaFormat(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/MediaSize.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class MediaSize {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected MediaSize(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(MediaSize obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_MediaSize(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setW(long value) {
39 | pjsua2JNI.MediaSize_w_set(swigCPtr, this, value);
40 | }
41 |
42 | public long getW() {
43 | return pjsua2JNI.MediaSize_w_get(swigCPtr, this);
44 | }
45 |
46 | public void setH(long value) {
47 | pjsua2JNI.MediaSize_h_set(swigCPtr, this, value);
48 | }
49 |
50 | public long getH() {
51 | return pjsua2JNI.MediaSize_h_get(swigCPtr, this);
52 | }
53 |
54 | public MediaSize() {
55 | this(pjsua2JNI.new_MediaSize(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/MediaTransportInfo.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class MediaTransportInfo {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected MediaTransportInfo(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(MediaTransportInfo obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_MediaTransportInfo(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setSrcRtpName(String value) {
39 | pjsua2JNI.MediaTransportInfo_srcRtpName_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getSrcRtpName() {
43 | return pjsua2JNI.MediaTransportInfo_srcRtpName_get(swigCPtr, this);
44 | }
45 |
46 | public void setSrcRtcpName(String value) {
47 | pjsua2JNI.MediaTransportInfo_srcRtcpName_set(swigCPtr, this, value);
48 | }
49 |
50 | public String getSrcRtcpName() {
51 | return pjsua2JNI.MediaTransportInfo_srcRtcpName_get(swigCPtr, this);
52 | }
53 |
54 | public MediaTransportInfo() {
55 | this(pjsua2JNI.new_MediaTransportInfo(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnCallMediaEventParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnCallMediaEventParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnCallMediaEventParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnCallMediaEventParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnCallMediaEventParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setMedIdx(long value) {
39 | pjsua2JNI.OnCallMediaEventParam_medIdx_set(swigCPtr, this, value);
40 | }
41 |
42 | public long getMedIdx() {
43 | return pjsua2JNI.OnCallMediaEventParam_medIdx_get(swigCPtr, this);
44 | }
45 |
46 | public void setEv(MediaEvent value) {
47 | pjsua2JNI.OnCallMediaEventParam_ev_set(swigCPtr, this, MediaEvent.getCPtr(value), value);
48 | }
49 |
50 | public MediaEvent getEv() {
51 | long cPtr = pjsua2JNI.OnCallMediaEventParam_ev_get(swigCPtr, this);
52 | return (cPtr == 0) ? null : new MediaEvent(cPtr, false);
53 | }
54 |
55 | public OnCallMediaEventParam() {
56 | this(pjsua2JNI.new_OnCallMediaEventParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnCallMediaStateParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnCallMediaStateParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnCallMediaStateParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnCallMediaStateParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnCallMediaStateParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public OnCallMediaStateParam() {
39 | this(pjsua2JNI.new_OnCallMediaStateParam(), true);
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnCallRedirectedParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnCallRedirectedParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnCallRedirectedParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnCallRedirectedParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnCallRedirectedParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setTargetUri(String value) {
39 | pjsua2JNI.OnCallRedirectedParam_targetUri_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getTargetUri() {
43 | return pjsua2JNI.OnCallRedirectedParam_targetUri_get(swigCPtr, this);
44 | }
45 |
46 | public void setE(SipEvent value) {
47 | pjsua2JNI.OnCallRedirectedParam_e_set(swigCPtr, this, SipEvent.getCPtr(value), value);
48 | }
49 |
50 | public SipEvent getE() {
51 | long cPtr = pjsua2JNI.OnCallRedirectedParam_e_get(swigCPtr, this);
52 | return (cPtr == 0) ? null : new SipEvent(cPtr, false);
53 | }
54 |
55 | public OnCallRedirectedParam() {
56 | this(pjsua2JNI.new_OnCallRedirectedParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnCallReplacedParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnCallReplacedParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnCallReplacedParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnCallReplacedParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnCallReplacedParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setNewCallId(int value) {
39 | pjsua2JNI.OnCallReplacedParam_newCallId_set(swigCPtr, this, value);
40 | }
41 |
42 | public int getNewCallId() {
43 | return pjsua2JNI.OnCallReplacedParam_newCallId_get(swigCPtr, this);
44 | }
45 |
46 | public OnCallReplacedParam() {
47 | this(pjsua2JNI.new_OnCallReplacedParam(), true);
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnCallSdpCreatedParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnCallSdpCreatedParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnCallSdpCreatedParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnCallSdpCreatedParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnCallSdpCreatedParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setSdp(SdpSession value) {
39 | pjsua2JNI.OnCallSdpCreatedParam_sdp_set(swigCPtr, this, SdpSession.getCPtr(value), value);
40 | }
41 |
42 | public SdpSession getSdp() {
43 | long cPtr = pjsua2JNI.OnCallSdpCreatedParam_sdp_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SdpSession(cPtr, false);
45 | }
46 |
47 | public void setRemSdp(SdpSession value) {
48 | pjsua2JNI.OnCallSdpCreatedParam_remSdp_set(swigCPtr, this, SdpSession.getCPtr(value), value);
49 | }
50 |
51 | public SdpSession getRemSdp() {
52 | long cPtr = pjsua2JNI.OnCallSdpCreatedParam_remSdp_get(swigCPtr, this);
53 | return (cPtr == 0) ? null : new SdpSession(cPtr, false);
54 | }
55 |
56 | public OnCallSdpCreatedParam() {
57 | this(pjsua2JNI.new_OnCallSdpCreatedParam(), true);
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnCallStateParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnCallStateParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnCallStateParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnCallStateParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnCallStateParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setE(SipEvent value) {
39 | pjsua2JNI.OnCallStateParam_e_set(swigCPtr, this, SipEvent.getCPtr(value), value);
40 | }
41 |
42 | public SipEvent getE() {
43 | long cPtr = pjsua2JNI.OnCallStateParam_e_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SipEvent(cPtr, false);
45 | }
46 |
47 | public OnCallStateParam() {
48 | this(pjsua2JNI.new_OnCallStateParam(), true);
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnCallTsxStateParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnCallTsxStateParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnCallTsxStateParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnCallTsxStateParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnCallTsxStateParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setE(SipEvent value) {
39 | pjsua2JNI.OnCallTsxStateParam_e_set(swigCPtr, this, SipEvent.getCPtr(value), value);
40 | }
41 |
42 | public SipEvent getE() {
43 | long cPtr = pjsua2JNI.OnCallTsxStateParam_e_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SipEvent(cPtr, false);
45 | }
46 |
47 | public OnCallTsxStateParam() {
48 | this(pjsua2JNI.new_OnCallTsxStateParam(), true);
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnDtmfDigitParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnDtmfDigitParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnDtmfDigitParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnDtmfDigitParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnDtmfDigitParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setDigit(String value) {
39 | pjsua2JNI.OnDtmfDigitParam_digit_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getDigit() {
43 | return pjsua2JNI.OnDtmfDigitParam_digit_get(swigCPtr, this);
44 | }
45 |
46 | public OnDtmfDigitParam() {
47 | this(pjsua2JNI.new_OnDtmfDigitParam(), true);
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnIncomingCallParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnIncomingCallParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnIncomingCallParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnIncomingCallParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnIncomingCallParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setCallId(int value) {
39 | pjsua2JNI.OnIncomingCallParam_callId_set(swigCPtr, this, value);
40 | }
41 |
42 | public int getCallId() {
43 | return pjsua2JNI.OnIncomingCallParam_callId_get(swigCPtr, this);
44 | }
45 |
46 | public void setRdata(SipRxData value) {
47 | pjsua2JNI.OnIncomingCallParam_rdata_set(swigCPtr, this, SipRxData.getCPtr(value), value);
48 | }
49 |
50 | public SipRxData getRdata() {
51 | long cPtr = pjsua2JNI.OnIncomingCallParam_rdata_get(swigCPtr, this);
52 | return (cPtr == 0) ? null : new SipRxData(cPtr, false);
53 | }
54 |
55 | public OnIncomingCallParam() {
56 | this(pjsua2JNI.new_OnIncomingCallParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnMwiInfoParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnMwiInfoParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnMwiInfoParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnMwiInfoParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnMwiInfoParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setState(pjsip_evsub_state value) {
39 | pjsua2JNI.OnMwiInfoParam_state_set(swigCPtr, this, value.swigValue());
40 | }
41 |
42 | public pjsip_evsub_state getState() {
43 | return pjsip_evsub_state.swigToEnum(pjsua2JNI.OnMwiInfoParam_state_get(swigCPtr, this));
44 | }
45 |
46 | public void setRdata(SipRxData value) {
47 | pjsua2JNI.OnMwiInfoParam_rdata_set(swigCPtr, this, SipRxData.getCPtr(value), value);
48 | }
49 |
50 | public SipRxData getRdata() {
51 | long cPtr = pjsua2JNI.OnMwiInfoParam_rdata_get(swigCPtr, this);
52 | return (cPtr == 0) ? null : new SipRxData(cPtr, false);
53 | }
54 |
55 | public OnMwiInfoParam() {
56 | this(pjsua2JNI.new_OnMwiInfoParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnRegStartedParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnRegStartedParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnRegStartedParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnRegStartedParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnRegStartedParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setRenew(boolean value) {
39 | pjsua2JNI.OnRegStartedParam_renew_set(swigCPtr, this, value);
40 | }
41 |
42 | public boolean getRenew() {
43 | return pjsua2JNI.OnRegStartedParam_renew_get(swigCPtr, this);
44 | }
45 |
46 | public OnRegStartedParam() {
47 | this(pjsua2JNI.new_OnRegStartedParam(), true);
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnSelectAccountParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnSelectAccountParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnSelectAccountParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnSelectAccountParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnSelectAccountParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setRdata(SipRxData value) {
39 | pjsua2JNI.OnSelectAccountParam_rdata_set(swigCPtr, this, SipRxData.getCPtr(value), value);
40 | }
41 |
42 | public SipRxData getRdata() {
43 | long cPtr = pjsua2JNI.OnSelectAccountParam_rdata_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SipRxData(cPtr, false);
45 | }
46 |
47 | public void setAccountIndex(int value) {
48 | pjsua2JNI.OnSelectAccountParam_accountIndex_set(swigCPtr, this, value);
49 | }
50 |
51 | public int getAccountIndex() {
52 | return pjsua2JNI.OnSelectAccountParam_accountIndex_get(swigCPtr, this);
53 | }
54 |
55 | public OnSelectAccountParam() {
56 | this(pjsua2JNI.new_OnSelectAccountParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnStreamDestroyedParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnStreamDestroyedParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnStreamDestroyedParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnStreamDestroyedParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnStreamDestroyedParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setStream(SWIGTYPE_p_void value) {
39 | pjsua2JNI.OnStreamDestroyedParam_stream_set(swigCPtr, this, SWIGTYPE_p_void.getCPtr(value));
40 | }
41 |
42 | public SWIGTYPE_p_void getStream() {
43 | long cPtr = pjsua2JNI.OnStreamDestroyedParam_stream_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
45 | }
46 |
47 | public void setStreamIdx(long value) {
48 | pjsua2JNI.OnStreamDestroyedParam_streamIdx_set(swigCPtr, this, value);
49 | }
50 |
51 | public long getStreamIdx() {
52 | return pjsua2JNI.OnStreamDestroyedParam_streamIdx_get(swigCPtr, this);
53 | }
54 |
55 | public OnStreamDestroyedParam() {
56 | this(pjsua2JNI.new_OnStreamDestroyedParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/OnTimerParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class OnTimerParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected OnTimerParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(OnTimerParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_OnTimerParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setUserData(SWIGTYPE_p_void value) {
39 | pjsua2JNI.OnTimerParam_userData_set(swigCPtr, this, SWIGTYPE_p_void.getCPtr(value));
40 | }
41 |
42 | public SWIGTYPE_p_void getUserData() {
43 | long cPtr = pjsua2JNI.OnTimerParam_userData_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
45 | }
46 |
47 | public void setMsecDelay(long value) {
48 | pjsua2JNI.OnTimerParam_msecDelay_set(swigCPtr, this, value);
49 | }
50 |
51 | public long getMsecDelay() {
52 | return pjsua2JNI.OnTimerParam_msecDelay_get(swigCPtr, this);
53 | }
54 |
55 | public OnTimerParam() {
56 | this(pjsua2JNI.new_OnTimerParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/PendingJob.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class PendingJob {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected PendingJob(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(PendingJob obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_PendingJob(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void execute(boolean is_pending) {
39 | pjsua2JNI.PendingJob_execute(swigCPtr, this, is_pending);
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/PersistentObject.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class PersistentObject {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected PersistentObject(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(PersistentObject obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_PersistentObject(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void readObject(ContainerNode node) throws Exception {
39 | pjsua2JNI.PersistentObject_readObject(swigCPtr, this, ContainerNode.getCPtr(node), node);
40 | }
41 |
42 | public void writeObject(ContainerNode node) throws Exception {
43 | pjsua2JNI.PersistentObject_writeObject(swigCPtr, this, ContainerNode.getCPtr(node), node);
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/RxMsgEvent.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class RxMsgEvent {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected RxMsgEvent(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(RxMsgEvent obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_RxMsgEvent(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setRdata(SipRxData value) {
39 | pjsua2JNI.RxMsgEvent_rdata_set(swigCPtr, this, SipRxData.getCPtr(value), value);
40 | }
41 |
42 | public SipRxData getRdata() {
43 | long cPtr = pjsua2JNI.RxMsgEvent_rdata_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SipRxData(cPtr, false);
45 | }
46 |
47 | public RxMsgEvent() {
48 | this(pjsua2JNI.new_RxMsgEvent(), true);
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SWIGTYPE_p_p_void.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SWIGTYPE_p_p_void {
12 | private long swigCPtr;
13 |
14 | protected SWIGTYPE_p_p_void(long cPtr, boolean futureUse) {
15 | swigCPtr = cPtr;
16 | }
17 |
18 | protected SWIGTYPE_p_p_void() {
19 | swigCPtr = 0;
20 | }
21 |
22 | protected static long getCPtr(SWIGTYPE_p_p_void obj) {
23 | return (obj == null) ? 0 : obj.swigCPtr;
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SWIGTYPE_p_pj_bool_t.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SWIGTYPE_p_pj_bool_t {
12 | private long swigCPtr;
13 |
14 | protected SWIGTYPE_p_pj_bool_t(long cPtr, boolean futureUse) {
15 | swigCPtr = cPtr;
16 | }
17 |
18 | protected SWIGTYPE_p_pj_bool_t() {
19 | swigCPtr = 0;
20 | }
21 |
22 | protected static long getCPtr(SWIGTYPE_p_pj_bool_t obj) {
23 | return (obj == null) ? 0 : obj.swigCPtr;
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SWIGTYPE_p_pj_ssize_t.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SWIGTYPE_p_pj_ssize_t {
12 | private long swigCPtr;
13 |
14 | protected SWIGTYPE_p_pj_ssize_t(long cPtr, boolean futureUse) {
15 | swigCPtr = cPtr;
16 | }
17 |
18 | protected SWIGTYPE_p_pj_ssize_t() {
19 | swigCPtr = 0;
20 | }
21 |
22 | protected static long getCPtr(SWIGTYPE_p_pj_ssize_t obj) {
23 | return (obj == null) ? 0 : obj.swigCPtr;
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SWIGTYPE_p_pjmedia_vid_dev_hwnd_type.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SWIGTYPE_p_pjmedia_vid_dev_hwnd_type {
12 | private long swigCPtr;
13 |
14 | protected SWIGTYPE_p_pjmedia_vid_dev_hwnd_type(long cPtr, boolean futureUse) {
15 | swigCPtr = cPtr;
16 | }
17 |
18 | protected SWIGTYPE_p_pjmedia_vid_dev_hwnd_type() {
19 | swigCPtr = 0;
20 | }
21 |
22 | protected static long getCPtr(SWIGTYPE_p_pjmedia_vid_dev_hwnd_type obj) {
23 | return (obj == null) ? 0 : obj.swigCPtr;
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SWIGTYPE_p_void.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SWIGTYPE_p_void {
12 | private long swigCPtr;
13 |
14 | protected SWIGTYPE_p_void(long cPtr, boolean futureUse) {
15 | swigCPtr = cPtr;
16 | }
17 |
18 | protected SWIGTYPE_p_void() {
19 | swigCPtr = 0;
20 | }
21 |
22 | protected static long getCPtr(SWIGTYPE_p_void obj) {
23 | return (obj == null) ? 0 : obj.swigCPtr;
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SdpSession.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SdpSession {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected SdpSession(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(SdpSession obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_SdpSession(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setWholeSdp(String value) {
39 | pjsua2JNI.SdpSession_wholeSdp_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getWholeSdp() {
43 | return pjsua2JNI.SdpSession_wholeSdp_get(swigCPtr, this);
44 | }
45 |
46 | public void setPjSdpSession(SWIGTYPE_p_void value) {
47 | pjsua2JNI.SdpSession_pjSdpSession_set(swigCPtr, this, SWIGTYPE_p_void.getCPtr(value));
48 | }
49 |
50 | public SWIGTYPE_p_void getPjSdpSession() {
51 | long cPtr = pjsua2JNI.SdpSession_pjSdpSession_get(swigCPtr, this);
52 | return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
53 | }
54 |
55 | public SdpSession() {
56 | this(pjsua2JNI.new_SdpSession(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SendTypingIndicationParam.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SendTypingIndicationParam {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected SendTypingIndicationParam(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(SendTypingIndicationParam obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_SendTypingIndicationParam(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setIsTyping(boolean value) {
39 | pjsua2JNI.SendTypingIndicationParam_isTyping_set(swigCPtr, this, value);
40 | }
41 |
42 | public boolean getIsTyping() {
43 | return pjsua2JNI.SendTypingIndicationParam_isTyping_get(swigCPtr, this);
44 | }
45 |
46 | public void setTxOption(SipTxOption value) {
47 | pjsua2JNI.SendTypingIndicationParam_txOption_set(swigCPtr, this, SipTxOption.getCPtr(value), value);
48 | }
49 |
50 | public SipTxOption getTxOption() {
51 | long cPtr = pjsua2JNI.SendTypingIndicationParam_txOption_get(swigCPtr, this);
52 | return (cPtr == 0) ? null : new SipTxOption(cPtr, false);
53 | }
54 |
55 | public SendTypingIndicationParam() {
56 | this(pjsua2JNI.new_SendTypingIndicationParam(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SipHeader.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SipHeader {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected SipHeader(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(SipHeader obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_SipHeader(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setHName(String value) {
39 | pjsua2JNI.SipHeader_hName_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getHName() {
43 | return pjsua2JNI.SipHeader_hName_get(swigCPtr, this);
44 | }
45 |
46 | public void setHValue(String value) {
47 | pjsua2JNI.SipHeader_hValue_set(swigCPtr, this, value);
48 | }
49 |
50 | public String getHValue() {
51 | return pjsua2JNI.SipHeader_hValue_get(swigCPtr, this);
52 | }
53 |
54 | public SipHeader() {
55 | this(pjsua2JNI.new_SipHeader(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/SipMediaType.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class SipMediaType {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected SipMediaType(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(SipMediaType obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_SipMediaType(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setType(String value) {
39 | pjsua2JNI.SipMediaType_type_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getType() {
43 | return pjsua2JNI.SipMediaType_type_get(swigCPtr, this);
44 | }
45 |
46 | public void setSubType(String value) {
47 | pjsua2JNI.SipMediaType_subType_set(swigCPtr, this, value);
48 | }
49 |
50 | public String getSubType() {
51 | return pjsua2JNI.SipMediaType_subType_get(swigCPtr, this);
52 | }
53 |
54 | public SipMediaType() {
55 | this(pjsua2JNI.new_SipMediaType(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/StreamStat.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class StreamStat {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected StreamStat(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(StreamStat obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_StreamStat(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setRtcp(RtcpStat value) {
39 | pjsua2JNI.StreamStat_rtcp_set(swigCPtr, this, RtcpStat.getCPtr(value), value);
40 | }
41 |
42 | public RtcpStat getRtcp() {
43 | long cPtr = pjsua2JNI.StreamStat_rtcp_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new RtcpStat(cPtr, false);
45 | }
46 |
47 | public void setJbuf(JbufState value) {
48 | pjsua2JNI.StreamStat_jbuf_set(swigCPtr, this, JbufState.getCPtr(value), value);
49 | }
50 |
51 | public JbufState getJbuf() {
52 | long cPtr = pjsua2JNI.StreamStat_jbuf_get(swigCPtr, this);
53 | return (cPtr == 0) ? null : new JbufState(cPtr, false);
54 | }
55 |
56 | public StreamStat() {
57 | this(pjsua2JNI.new_StreamStat(), true);
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/TimeVal.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class TimeVal {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected TimeVal(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(TimeVal obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_TimeVal(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setSec(int value) {
39 | pjsua2JNI.TimeVal_sec_set(swigCPtr, this, value);
40 | }
41 |
42 | public int getSec() {
43 | return pjsua2JNI.TimeVal_sec_get(swigCPtr, this);
44 | }
45 |
46 | public void setMsec(int value) {
47 | pjsua2JNI.TimeVal_msec_set(swigCPtr, this, value);
48 | }
49 |
50 | public int getMsec() {
51 | return pjsua2JNI.TimeVal_msec_get(swigCPtr, this);
52 | }
53 |
54 | public TimeVal() {
55 | this(pjsua2JNI.new_TimeVal(), true);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/TimerEvent.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class TimerEvent {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected TimerEvent(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(TimerEvent obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_TimerEvent(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setEntry(SWIGTYPE_p_void value) {
39 | pjsua2JNI.TimerEvent_entry_set(swigCPtr, this, SWIGTYPE_p_void.getCPtr(value));
40 | }
41 |
42 | public SWIGTYPE_p_void getEntry() {
43 | long cPtr = pjsua2JNI.TimerEvent_entry_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false);
45 | }
46 |
47 | public TimerEvent() {
48 | this(pjsua2JNI.new_TimerEvent(), true);
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/ToneDesc.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class ToneDesc extends pjmedia_tone_desc {
12 | private long swigCPtr;
13 |
14 | protected ToneDesc(long cPtr, boolean cMemoryOwn) {
15 | super(pjsua2JNI.ToneDesc_SWIGUpcast(cPtr), cMemoryOwn);
16 | swigCPtr = cPtr;
17 | }
18 |
19 | protected static long getCPtr(ToneDesc obj) {
20 | return (obj == null) ? 0 : obj.swigCPtr;
21 | }
22 |
23 | protected void finalize() {
24 | delete();
25 | }
26 |
27 | public synchronized void delete() {
28 | if (swigCPtr != 0) {
29 | if (swigCMemOwn) {
30 | swigCMemOwn = false;
31 | pjsua2JNI.delete_ToneDesc(swigCPtr);
32 | }
33 | swigCPtr = 0;
34 | }
35 | super.delete();
36 | }
37 |
38 | public ToneDesc() {
39 | this(pjsua2JNI.new_ToneDesc(), true);
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/ToneDigit.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class ToneDigit extends pjmedia_tone_digit {
12 | private long swigCPtr;
13 |
14 | protected ToneDigit(long cPtr, boolean cMemoryOwn) {
15 | super(pjsua2JNI.ToneDigit_SWIGUpcast(cPtr), cMemoryOwn);
16 | swigCPtr = cPtr;
17 | }
18 |
19 | protected static long getCPtr(ToneDigit obj) {
20 | return (obj == null) ? 0 : obj.swigCPtr;
21 | }
22 |
23 | protected void finalize() {
24 | delete();
25 | }
26 |
27 | public synchronized void delete() {
28 | if (swigCPtr != 0) {
29 | if (swigCMemOwn) {
30 | swigCMemOwn = false;
31 | pjsua2JNI.delete_ToneDigit(swigCPtr);
32 | }
33 | swigCPtr = 0;
34 | }
35 | super.delete();
36 | }
37 |
38 | public ToneDigit() {
39 | this(pjsua2JNI.new_ToneDigit(), true);
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/ToneDigitMapDigit.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class ToneDigitMapDigit {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected ToneDigitMapDigit(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(ToneDigitMapDigit obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_ToneDigitMapDigit(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setDigit(String value) {
39 | pjsua2JNI.ToneDigitMapDigit_digit_set(swigCPtr, this, value);
40 | }
41 |
42 | public String getDigit() {
43 | return pjsua2JNI.ToneDigitMapDigit_digit_get(swigCPtr, this);
44 | }
45 |
46 | public void setFreq1(int value) {
47 | pjsua2JNI.ToneDigitMapDigit_freq1_set(swigCPtr, this, value);
48 | }
49 |
50 | public int getFreq1() {
51 | return pjsua2JNI.ToneDigitMapDigit_freq1_get(swigCPtr, this);
52 | }
53 |
54 | public void setFreq2(int value) {
55 | pjsua2JNI.ToneDigitMapDigit_freq2_set(swigCPtr, this, value);
56 | }
57 |
58 | public int getFreq2() {
59 | return pjsua2JNI.ToneDigitMapDigit_freq2_get(swigCPtr, this);
60 | }
61 |
62 | public ToneDigitMapDigit() {
63 | this(pjsua2JNI.new_ToneDigitMapDigit(), true);
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/TxErrorEvent.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class TxErrorEvent {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected TxErrorEvent(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(TxErrorEvent obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_TxErrorEvent(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setTdata(SipTxData value) {
39 | pjsua2JNI.TxErrorEvent_tdata_set(swigCPtr, this, SipTxData.getCPtr(value), value);
40 | }
41 |
42 | public SipTxData getTdata() {
43 | long cPtr = pjsua2JNI.TxErrorEvent_tdata_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SipTxData(cPtr, false);
45 | }
46 |
47 | public void setTsx(SipTransaction value) {
48 | pjsua2JNI.TxErrorEvent_tsx_set(swigCPtr, this, SipTransaction.getCPtr(value), value);
49 | }
50 |
51 | public SipTransaction getTsx() {
52 | long cPtr = pjsua2JNI.TxErrorEvent_tsx_get(swigCPtr, this);
53 | return (cPtr == 0) ? null : new SipTransaction(cPtr, false);
54 | }
55 |
56 | public TxErrorEvent() {
57 | this(pjsua2JNI.new_TxErrorEvent(), true);
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/TxMsgEvent.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class TxMsgEvent {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected TxMsgEvent(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(TxMsgEvent obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_TxMsgEvent(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setTdata(SipTxData value) {
39 | pjsua2JNI.TxMsgEvent_tdata_set(swigCPtr, this, SipTxData.getCPtr(value), value);
40 | }
41 |
42 | public SipTxData getTdata() {
43 | long cPtr = pjsua2JNI.TxMsgEvent_tdata_get(swigCPtr, this);
44 | return (cPtr == 0) ? null : new SipTxData(cPtr, false);
45 | }
46 |
47 | public TxMsgEvent() {
48 | this(pjsua2JNI.new_TxMsgEvent(), true);
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/VideoWindowHandle.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class VideoWindowHandle {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected VideoWindowHandle(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(VideoWindowHandle obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_VideoWindowHandle(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setType(SWIGTYPE_p_pjmedia_vid_dev_hwnd_type value) {
39 | pjsua2JNI.VideoWindowHandle_type_set(swigCPtr, this, SWIGTYPE_p_pjmedia_vid_dev_hwnd_type.getCPtr(value));
40 | }
41 |
42 | public SWIGTYPE_p_pjmedia_vid_dev_hwnd_type getType() {
43 | return new SWIGTYPE_p_pjmedia_vid_dev_hwnd_type(pjsua2JNI.VideoWindowHandle_type_get(swigCPtr, this), true);
44 | }
45 |
46 | public void setHandle(WindowHandle value) {
47 | pjsua2JNI.VideoWindowHandle_handle_set(swigCPtr, this, WindowHandle.getCPtr(value), value);
48 | }
49 |
50 | public WindowHandle getHandle() {
51 | long cPtr = pjsua2JNI.VideoWindowHandle_handle_get(swigCPtr, this);
52 | return (cPtr == 0) ? null : new WindowHandle(cPtr, false);
53 | }
54 |
55 | public VideoWindowHandle() {
56 | this(pjsua2JNI.new_VideoWindowHandle(), true);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/WindowHandle.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class WindowHandle {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected WindowHandle(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(WindowHandle obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_WindowHandle(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setWindow(Object surface) {
39 | pjsua2JNI.WindowHandle_setWindow(swigCPtr, this, surface);
40 | }
41 |
42 | public WindowHandle() {
43 | this(pjsua2JNI.new_WindowHandle(), true);
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/pjmedia_tone_digit_map.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class pjmedia_tone_digit_map {
12 | private long swigCPtr;
13 | protected boolean swigCMemOwn;
14 |
15 | protected pjmedia_tone_digit_map(long cPtr, boolean cMemoryOwn) {
16 | swigCMemOwn = cMemoryOwn;
17 | swigCPtr = cPtr;
18 | }
19 |
20 | protected static long getCPtr(pjmedia_tone_digit_map obj) {
21 | return (obj == null) ? 0 : obj.swigCPtr;
22 | }
23 |
24 | protected void finalize() {
25 | delete();
26 | }
27 |
28 | public synchronized void delete() {
29 | if (swigCPtr != 0) {
30 | if (swigCMemOwn) {
31 | swigCMemOwn = false;
32 | pjsua2JNI.delete_pjmedia_tone_digit_map(swigCPtr);
33 | }
34 | swigCPtr = 0;
35 | }
36 | }
37 |
38 | public void setCount(long value) {
39 | pjsua2JNI.pjmedia_tone_digit_map_count_set(swigCPtr, this, value);
40 | }
41 |
42 | public long getCount() {
43 | return pjsua2JNI.pjmedia_tone_digit_map_count_get(swigCPtr, this);
44 | }
45 |
46 | public pjmedia_tone_digit_map() {
47 | this(pjsua2JNI.new_pjmedia_tone_digit_map(), true);
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/pjsua2.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public class pjsua2 implements pjsua2Constants {
12 | }
13 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/pjsua2Constants.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public interface pjsua2Constants {
12 | public final static int INVALID_ID = pjsua2JNI.INVALID_ID_get();
13 | public final static int SUCCESS = pjsua2JNI.SUCCESS_get();
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/pjsua_invalid_id_const_.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public final class pjsua_invalid_id_const_ {
12 | public final static pjsua_invalid_id_const_ PJSUA_INVALID_ID = new pjsua_invalid_id_const_("PJSUA_INVALID_ID", pjsua2JNI.PJSUA_INVALID_ID_get());
13 |
14 | public final int swigValue() {
15 | return swigValue;
16 | }
17 |
18 | public String toString() {
19 | return swigName;
20 | }
21 |
22 | public static pjsua_invalid_id_const_ swigToEnum(int swigValue) {
23 | if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
24 | return swigValues[swigValue];
25 | for (int i = 0; i < swigValues.length; i++)
26 | if (swigValues[i].swigValue == swigValue)
27 | return swigValues[i];
28 | throw new IllegalArgumentException("No enum " + pjsua_invalid_id_const_.class + " with value " + swigValue);
29 | }
30 |
31 | private pjsua_invalid_id_const_(String swigName) {
32 | this.swigName = swigName;
33 | this.swigValue = swigNext++;
34 | }
35 |
36 | private pjsua_invalid_id_const_(String swigName, int swigValue) {
37 | this.swigName = swigName;
38 | this.swigValue = swigValue;
39 | swigNext = swigValue+1;
40 | }
41 |
42 | private pjsua_invalid_id_const_(String swigName, pjsua_invalid_id_const_ swigEnum) {
43 | this.swigName = swigName;
44 | this.swigValue = swigEnum.swigValue;
45 | swigNext = this.swigValue+1;
46 | }
47 |
48 | private static pjsua_invalid_id_const_[] swigValues = { PJSUA_INVALID_ID };
49 | private static int swigNext = 0;
50 | private final int swigValue;
51 | private final String swigName;
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/app/src/main/java/org/pjsip/pjsua2/pjsua_ipv6_use.java:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 | * This file was automatically generated by SWIG (http://www.swig.org).
3 | * Version 2.0.12
4 | *
5 | * Do not make changes to this file unless you know what you are doing--modify
6 | * the SWIG interface file instead.
7 | * ----------------------------------------------------------------------------- */
8 |
9 | package org.pjsip.pjsua2;
10 |
11 | public final class pjsua_ipv6_use {
12 | public final static pjsua_ipv6_use PJSUA_IPV6_DISABLED = new pjsua_ipv6_use("PJSUA_IPV6_DISABLED");
13 | public final static pjsua_ipv6_use PJSUA_IPV6_ENABLED = new pjsua_ipv6_use("PJSUA_IPV6_ENABLED");
14 |
15 | public final int swigValue() {
16 | return swigValue;
17 | }
18 |
19 | public String toString() {
20 | return swigName;
21 | }
22 |
23 | public static pjsua_ipv6_use swigToEnum(int swigValue) {
24 | if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
25 | return swigValues[swigValue];
26 | for (int i = 0; i < swigValues.length; i++)
27 | if (swigValues[i].swigValue == swigValue)
28 | return swigValues[i];
29 | throw new IllegalArgumentException("No enum " + pjsua_ipv6_use.class + " with value " + swigValue);
30 | }
31 |
32 | private pjsua_ipv6_use(String swigName) {
33 | this.swigName = swigName;
34 | this.swigValue = swigNext++;
35 | }
36 |
37 | private pjsua_ipv6_use(String swigName, int swigValue) {
38 | this.swigName = swigName;
39 | this.swigValue = swigValue;
40 | swigNext = swigValue+1;
41 | }
42 |
43 | private pjsua_ipv6_use(String swigName, pjsua_ipv6_use swigEnum) {
44 | this.swigName = swigName;
45 | this.swigValue = swigEnum.swigValue;
46 | swigNext = this.swigValue+1;
47 | }
48 |
49 | private static pjsua_ipv6_use[] swigValues = { PJSUA_IPV6_DISABLED, PJSUA_IPV6_ENABLED };
50 | private static int swigNext = 0;
51 | private final int swigValue;
52 | private final String swigName;
53 | }
54 |
55 |
--------------------------------------------------------------------------------
/app/src/main/java/org/webrtc/videoengine/ViERenderer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | package org.webrtc.videoengine;
12 |
13 | import android.content.Context;
14 | import android.view.SurfaceView;
15 |
16 | public class ViERenderer {
17 | public static SurfaceView CreateRenderer(Context context) {
18 | return CreateRenderer(context, false);
19 | }
20 |
21 | public static SurfaceView CreateRenderer(Context context,
22 | boolean useOpenGLES2) {
23 | if(useOpenGLES2 == true && ViEAndroidGLES20.IsSupported(context))
24 | return new ViEAndroidGLES20(context);
25 | else
26 | return new SurfaceView(context);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/org/webrtc/voiceengine/WebRtcAudioUtils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 | *
4 | * Use of this source code is governed by a BSD-style license
5 | * that can be found in the LICENSE file in the root of the source
6 | * tree. An additional intellectual property rights grant can be found
7 | * in the file PATENTS. All contributing project authors may
8 | * be found in the AUTHORS file in the root of the source tree.
9 | */
10 |
11 | package org.webrtc.voiceengine;
12 |
13 | import android.os.Build;
14 | import android.util.Log;
15 |
16 | public final class WebRtcAudioUtils {
17 | // Use 44.1kHz as the default sampling rate.
18 | private static final int SAMPLE_RATE_HZ = 44100;
19 |
20 | public static boolean runningOnJellyBeanOrHigher() {
21 | return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN;
22 | }
23 |
24 | public static boolean runningOnJellyBeanMR1OrHigher() {
25 | return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1;
26 | }
27 |
28 | public static boolean runningOnLollipopOrHigher() {
29 | return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
30 | }
31 |
32 | /** Helper method for building a string of thread information.*/
33 | public static String getThreadInfo() {
34 | return "@[name=" + Thread.currentThread().getName()
35 | + ", id=" + Thread.currentThread().getId() + "]";
36 | }
37 |
38 | /** Information about the current build, taken from system properties. */
39 | public static void logDeviceInfo(String tag) {
40 | Log.d(tag, "Android SDK: " + Build.VERSION.SDK_INT + ", "
41 | + "Release: " + Build.VERSION.RELEASE + ", "
42 | + "Brand: " + Build.BRAND + ", "
43 | + "Device: " + Build.DEVICE + ", "
44 | + "Id: " + Build.ID + ", "
45 | + "Hardware: " + Build.HARDWARE + ", "
46 | + "Manufacturer: " + Build.MANUFACTURER + ", "
47 | + "Model: " + Build.MODEL + ", "
48 | + "Product: " + Build.PRODUCT);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi-v7a/libpjmediaengine.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/jniLibs/armeabi-v7a/libpjmediaengine.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libpjmediaengine.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/jniLibs/armeabi/libpjmediaengine.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libpjsua2.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/jniLibs/armeabi/libpjsua2.so
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/app_accept_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/app_accept_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/app_call_error_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/app_call_error_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/app_call_user_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/app_call_user_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/app_call_user_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/app_call_user_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/app_call_wait_head_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/app_call_wait_head_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/app_hangup_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/app_hangup_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/app_open_door_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/app_open_door_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/app_sip_audio_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/app_sip_audio_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/btn_call_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/btn_call_background.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_addcontact.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/ic_addcontact.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_call.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/ic_call.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_deletenumber.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/ic_deletenumber.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_head.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/ic_head.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_move.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/ic_move.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_unonline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/ic_unonline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/perm_group_calendar_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/perm_group_calendar_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/perm_group_calendar_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/perm_group_calendar_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/perm_group_camera_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/perm_group_camera_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/perm_group_camera_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/perm_group_camera_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/status_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/status_green.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/status_offline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/status_offline.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/status_orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/status_orange.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/status_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/status_red.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/v1_wg_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/v1_wg_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/v1_wg_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/v1_wg_close.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/v1_wg_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/v1_wg_open.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/v1_wg_tx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-hdpi/v1_wg_tx.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/app_accept_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/app_accept_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/app_call_error_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/app_call_error_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/app_call_user_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/app_call_user_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/app_call_user_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/app_call_user_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/app_call_wait_head_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/app_call_wait_head_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/app_hangup_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/app_hangup_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/app_open_door_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/app_open_door_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/app_sip_audio_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/app_sip_audio_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
15 |
18 |
21 |
22 |
23 |
24 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_accept_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/app_accept_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_call_error_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/app_call_error_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_call_user_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/app_call_user_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_call_user_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/app_call_user_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_call_wait_head_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/app_call_wait_head_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_hangup_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/app_hangup_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_open_door_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/app_open_door_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/app_sip_audio_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/app_sip_audio_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/btn_camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/btn_camera.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/btn_camera_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/btn_camera_press.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/btn_phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/btn_phone.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/btn_phone_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/btn_phone_press.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/btn_video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/btn_video.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/btn_video_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/btn_video_press.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/btn_voice.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/btn_voice.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/btn_voice_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/btn_voice_press.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/app_accept_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/app_accept_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/app_call_error_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/app_call_error_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/app_call_user_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/app_call_user_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/app_call_user_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/app_call_user_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/app_call_wait_head_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/app_call_wait_head_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/app_hangup_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/app_hangup_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/app_open_door_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/app_open_door_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/app_sip_audio_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/app_sip_audio_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/app_accept_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable/app_accept_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/app_hangup_call_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable/app_hangup_call_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/app_open_door_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/drawable/app_open_door_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/app_video_shape_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bkg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_answer_video_phone.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_camera_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_hang_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_opendoor_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_voice_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/perm_group_calendar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/perm_group_camera.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/video_call_shape_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_sip_call.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/raw/empty_number.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/raw/empty_number.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/no_people.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/raw/no_people.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/outbound_ringback_tone.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/raw/outbound_ringback_tone.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/refuse_call.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/raw/refuse_call.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/ringtone_long.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/raw/ringtone_long.wav
--------------------------------------------------------------------------------
/app/src/main/res/raw/user_busy.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/raw/user_busy.mp3
--------------------------------------------------------------------------------
/app/src/main/res/raw/wait_call.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/app/src/main/res/raw/wait_call.wav
--------------------------------------------------------------------------------
/app/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 | 16dp
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - UDP
5 | - TCP
6 | - TLS
7 |
8 |
9 | - udp
10 | - tcp
11 | - tls
12 |
13 |
14 |
15 | - CFI(352x288)
16 | - VGA(640x480)
17 | - HD(1280x720)
18 |
19 |
20 | - cif
21 | - vga
22 | - hd
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #B8F2F5
4 | #E8FEFF
5 |
6 | #ffffff
7 | #949494
8 | #5b5b5b
9 | #7c7c7c
10 | #a0a0a0
11 | #6c6c6c
12 |
13 | #0089d7
14 | #aac1d9
15 | #ee3030
16 | #000000
17 | #00000000
18 |
19 | #0089d7
20 | #000000
21 |
22 | #2d2d2d
23 | #373737
24 | #404040
25 | #00000000
26 |
27 | #ecfbed
28 |
29 | #526EFF
30 | #526EFF
31 | #66FFFFFF
32 | #D14836
33 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 |
9 | }
10 | dependencies {
11 | classpath 'com.android.tools.build:gradle:3.6.3'
12 |
13 |
14 | // NOTE: Do not place your application dependencies here; they belong
15 | // in the individual module build.gradle files
16 | }
17 | }
18 |
19 | allprojects {
20 | repositories {
21 | google()
22 | jcenter()
23 |
24 | }
25 | }
26 |
27 | task clean(type: Delete) {
28 | delete rootProject.buildDir
29 | }
30 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1536m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app's APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Automatically convert third-party libraries to use AndroidX
19 | android.enableJetifier=true
20 |
21 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/279154451/PJSipSDK/6374359e19dd2939ea7d4899c924c27d48195539/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Nov 06 16:48:45 GMT+08:00 2020
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
7 |
--------------------------------------------------------------------------------
/local.properties:
--------------------------------------------------------------------------------
1 | ## This file is automatically generated by Android Studio.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file should *NOT* be checked into Version Control Systems,
5 | # as it contains information specific to your local configuration.
6 | #
7 | # Location of the SDK. This is only used by Gradle.
8 | # For customization when using a Version Control System, please read the
9 | # header note.
10 | sdk.dir=E\:\\WorkSoft\\Android\\SDK
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name='SipSdk'
2 | include ':app'
3 |
--------------------------------------------------------------------------------