PJSIP2.6

作者: 北冥有鱼1129 | 来源:发表于2017-11-02 15:58 被阅读0次

版本号:library_pjsua-20171027

是基于pjsip的基础上再次封装的sip通话功能模块,实现了快速,简易的开发,集成使用不要求知道sip的详细知识。简单的几行代码就可以实现语音的通话。
集成方式:
1.下载aar文件放到自己项目的libs目录下

2.修改build.gradle 配置文件
1:添加
repositories {
    flatDir {
        dirs 'libs'
    }
}
2.ndk {
    // 设置支持的SO库架构
    abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}

注意:targetSdkVersion 大于22 配置电话权限

3.AndroidManifest 权限配置
<!--权限-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-feature
    android:name="android.hardware.sip.voip"
    android:required="true" />
<uses-feature
    android:name="android.hardware.wifi"
    android:required="true" />
<uses-feature
    android:name="android.hardware.microphone"
    android:required="true" />

4.调用方法使用:
PjsipUtils pjsipUtils = new PjsipUtils(mContext);//初始化
1) pjsipUtils.isReg();//检测sip是否注册方法

2) pjsipUtils.hangupCall();//挂断方法

3) pjsipUtils.makeCall("13951637983", new CallOutBack() {//呼叫
    @Override
    public void onAnswer(Context context) {//接通
        textView.setText("接通");
    }

    @Override
    public void onHangup(Context context) {// 挂断
        textView.setText(" 挂断");
    }

    @Override
    public void onCallRing(Context context) {//呼叫中
        textView.setText(" 呼叫中");
    }

    @Override
    public void onCallFailure(Context context, int i, Exception e) {//异常
        textView.setText("异常");
    }
});

4) pjsipUtils.outSip(new SipStateBack() {//注销方法
    @Override
    public void onSuccess(Context context, String s) {
        textView.setText("注销成功");
    }

    @Override
    public void onError(Throwable throwable, String s) {
        textView.setText("注销失败");
    }
});
注意建议:程序推出前,或者不使用的时候请关闭,注销sip
5.// 服务器端获取 这些参数请求后台获取,接口方法群里联系获取,不获取无法使用
 // 服务器端获取
    String mDomainname = "";
    String mFsextip = "";
    String mProxy = "";
    String mSeatid = "";
    String mPassword = "";
    mFsextip="yy.91callcenter.cn";//目前这个参数写死,后台接口没有反回
    mProxy = "15060";//目前这个参数写死 ,后台接口没有反回
    pjsipUtils.regSip(mDomainname, mFsextip, mProxy, mSeatid, mPassword, new SipStateBack() {
        @Override
        public void onSuccess(Context context, String s) {//成功
            textView.setText("注册成功");
        }

        @Override
        public void onError(Throwable throwable, String s) {//失败
            textView.setText("注册失败");
        }
    });
}

相关文章

  • PJSIP2.6

    版本号:library_pjsua-20171027 是基于pjsip的基础上再次封装的sip通话功能模块,实现了...

  • mac执行脚本遇到的问题

    今天在编译pjsip2.6遇到错误:-bash: ./configure-iphone: /bin/bash^M:...

  • PJSIP2.6支持IPv6笔记

    PJSIP2.6支持IPv6笔记 ��前段时间做了一个Voip的应用,在上架时�因为IPv6的原因连续被拒三次,�...

  • PJsip2.6 全版本.so文件编译方式

    环境搭建这里不做介绍,本文只做自己方法备份 第一步: cd /home/sana/2.6 第二步: export ...

网友评论

      本文标题:PJSIP2.6

      本文链接:https://www.haomeiwen.com/subject/titapxtx.html