pjsip for android,pjsip-android

PJSIP Android

NOTICE! This project is experimental, so don't use it in production! No support is provided and only bug fixes and pull requests can be accepted.

What you need to work with this library:

An android device with Android API 18+ (4.3.3 or higher)

A PBX (E.g. VoiSmart Orchestra NG or FreeSWITCH, which is open). I'm not going to enter in the detail of how to properly configure your PBX, because that's a different topic and there are excellent tutorials out there.

Architecture

pjsip-android.png

This project wraps the standard PJSUA2 bindings in a background service and completely hides SIP from the rest of the application, to be able to have VoIP capabilities at a high level of abstraction. You can talk to the service using static methods and you will receive broadcast intents as a response. To talk to the service, refer to SipServiceCommand static methods. To receive events from the service, extend BroadcastEventReceiver. To see which events are emitted by the service, refer to BroadcastEventEmitter. All the commands that you will send to the service will get executed in the background and without blocking your main thread. Once the service has done the requested job or operation, it will notify you with a broadcast intent. So, you don't risk blocking your UI thread in any way.

Native PJSIP library for Android is compiled using PJSIP Android Builder

State of the art

What is tested and working:

Single account

Make a single call

In-Call operations

mute

unmute

hold

un-hold

blind transfer

send DTMF (RFC 2833)

Accept an incoming call

Answer with video an incoming call

Decline an incoming call

Get/Set codec priorities

Hang up all active calls

Hold all active calls

Hold/Decline sip call when incoming/outgoing gsm call

Video support

switch camera

mute/unmute video

video preview

Use of a fixed SIP Call-ID Header. Refer to this for more details

Get Call Statistics on call disconnected

Sip Credential encryption on device. Refer to VoiSmart Crypto library for more details

What is missing (contributions are welcome):

Multiple calls support

be able to handle other calls coming in while you have an active call

be able to hold the current call and make another one (this is the base for attended transfers and conference calls)

Conference calls

Attended call transfer

Complete multiple accounts support

Respond to a call and play a sound file

Support for In-Call RTCP signaling to get call statistics

Other things which I'm not aware at the moment...

Recompile native libraries

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值