iPad 利用SIP协议拨打电话

一、前言:

iPad 有可以插卡的,有的不可以插卡,插卡的可以正常拨打电话,不插卡的就不能拨打电话,但是可以通过网络SIP协议进行拨打电话,这个需要你有一台服务器,我们公司是用别人家的一个平台,但是想把这个打电话的功能移植到iPad上面!这里只是简单的实现拨打电话,挂断电话,监听拨打电话状态基本功能!

二、简介:

  • linphone是开源SIP电话,可在移动和桌面环境(iOS,Android,MAC OSX)和Web浏览器上等使用。
  • linphone是核心引擎:这是一个实现Linphone所有功能的库。Liblinphone是一个功能强大的SIP VoIP视频SDK,任何人都可以用来向应用程序添加音频或视频通话功能。它提供了一个高级api来发起,接收,终止音频和视频呼叫。
  • linphone及其所有依赖项均使用纯C编写。
  • linphone点击这里下载

三、集成:

可以下载SDK手动导入项目中!
或使用Cocoapods导入使用如下:
source 'https://gitlab.linphone.org/BC/public/podspec.git'
platform :ios,  '9.0'
target 'xxxxx' do
pod 'linphone-sdk','4.2'
end

四、代码实现:

用的是这个作者,他在linphone的基础上封装了一层,更容易使用,点击下载文件,下载完成将EasySip放在项目中去!

五、使用:

  • 注册:(其实这个部分可以给后台来做,前端就打电话就行)
//1.注册
[[ESSipManager instance] login:@"用户名" password:@"密码" displayName:@"" domain:@"IP地址+端口号" port:@"端口号" withTransport:@"UDP"];
  • 登录:这个登录是走后台接口,为了是绑定设备!

  • 拨打电话:

[[ESSipManager instance] call:@"电话号码" displayName:@""];
  • 挂断电话:
[[ESSipManager instance] hangUpCall];
  • 监听电话的状态
//可以在VC中添加观察者,就可以监听到电话状态
NSString *const ES_ON_REMOTE_OPEN_CEMERA = @"ES_ON_REMOTE_OPEN_CEMERA";
NSString *const ES_ON_CALL_COMMING = @"ES_ON_CALL_COMMING";
NSString *const ES_ON_CALL_END = @"ES_ON_CALL_END";
NSString *const ES_ON_CALL_STREAM_UPDATE = @"ES_ON_CALL_STREAM_UPDATE";

六、结语:

到这里我们就完成了电话的拨打,挂断以及监听电话状态!之前做的时候发现打电话的时候提示:外地号码前 +0 这个Bug,经研究是注册没有成功,后台没有拿到注册的IP地址,所有回出现这种情况,安卓那边会出现:电话号码前+86的情况解决是在电话前面拼接IP地址core.interpretUrl用到了这个方法!

七、悲剧(被拒)

Guideline 5.0 - Legal


Recently, the Chinese Ministry of Industry and Information Technology (MIIT) requested that CallKit functionality be deactivated in all apps available on the China App Store.

During our review, we found that your app currently includes CallKit functionality and has China listed as an available territory in App Store Connect.

Next Steps

This app cannot be approved with CallKit functionality active in China. Please make the appropriate changes and resubmit this app for review.

If you have already ensured that CallKit functionality is not active in China, you may reply to this message in Resolution Center to confirm. 

Voice over Internet Protocol (VoIP) call functionality continues to be allowed but can no longer take advantage of CallKit’s intuitive look and feel. CallKit can continue to be used in apps outside of China.
我的天那,被拒了,意思是在中国区域内,不能使用CallKit框架,在EasySip中用到CallKit的文件全部删掉,或者是注释掉,在打包上传即可!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 前言 Voip即网络电话,voice over internet Protocol,将模拟的声音讯号经过压缩与封包...
    天下林子阅读 11,144评论 5 29
  • 我自己集成的Demo & SDK源码路径最新版SDK下载地址开始前先安利下江湖哥简书,当初都是照着这一步步摸索的h...
    树深不闻钟阅读 17,885评论 35 35
  • android sip协议通话代码实现 简介android里面的VOIP网络通话基于sip(Session ini...
    endian阅读 12,347评论 1 9
  • Android 语音通话模块介绍(一) PJSIP简介 PJSIP是一个开放源代码的SIP协议栈;官网地址(h...
    北冥有鱼1129阅读 1,168评论 0 1
  • 你为一个根本不值得的人 夜夜用滚烫的泪水 浸泡失眠的双眸 把满身伤痛 带进凄苦的梦境 黑暗里找不到前行的路 无数次...
    忘却红尘的累阅读 379评论 0 12