我正在尝试在IOS 上实现mod_verto(从iPhone调用到桌面).我正在使用Google的libjingle库用于RTC端,使用这个优秀的教程完成并运行.
如果我使用2个浏览器窗口(使用Verto Communicator)进行呼叫,则一切正常.
完全披露,我使用ws://不安全的websocket连接到FreeSwitch
这是我的JSONRPC日志:
发送登录请求:
{"jsonrpc":"2.0","method":"login","id":1,"params":{"login":"1000@MY-IP-ADDRESS","loginParams":{},"userVariables":{},"passwd":"1234","sessid":"53FB0781-B586-4CDA-98C6-558680663B46"}}
Run Code Online (Sandbox Code Playgroud)
登录响应:
{"jsonrpc":"2.0","id":1,"result":{"message":"logged in","sessid":"53FB0781-B586-4CDA-98C6-558680663B46"}}
Run Code Online (Sandbox Code Playgroud)
verto.invite(包括iPhone sdp):
{"jsonrpc":"2.0","method":"verto.invite","id":2,"params":{"dialogParams":{"remote_caller_id_number":"1008","useVideo":false,"useMic":"any","useStereo":false,"tag":"webcam","login":"1000@159.203.164.7","useCamera":"any","videoParams":{"minFrameRate":30,"minWidth":"1280","minHeight":"720"},"destination_number":"1008","screenShare":false,"caller_id_name":"FreeSWITCH User","caller_id_number":"1000","callID":"0CD433FC-A909-4DF2-BC46-0A4A94E9B800","remote_caller_id_name":"Outbound Call","useSpeak":"any"},"sessid":"53FB0781-B586-4CDA-98C6-558680663B46","sdp":"v=0\r\no=- 8564086442942257834 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS\r\nm=audio 58157 UDP\/TLS\/RTP\/SAVPF 111 103 104 9 102 0 8 106 105 13 127 126\r\nc=IN IP4 82.166.93.197\r\na=rtcp:52576 IN IP4 82.166.93.197\r\na=candidate:3168280865 1 udp 2122260223 11.0.0.244 58157 typ host generation 0\r\na=candidate:1260196625 1 udp 2122194687 10.134.172.254 58951 typ host generation 0\r\na=candidate:3168280865 2 udp …Run Code Online (Sandbox Code Playgroud) 我需要使用仅支持Audio的WPF接口在C#中编写VoIP/SIP Soft Phone.我需要通过mp3进行呼叫转移,呼叫会议和对话录音.
我看过ABTO LLC的VoIP SDK,但它在应用程序启动时很慢(启动应用程序30秒,我认为这与加载此sdk的activex部分有关).
我也查看了SIP.Net,但它仅适用于SIP,不包含语音数据传输组件.
我从零到完全工作的应用程序只有2个月的时间非常有限.
我可以用什么SDK来完成这项任务?
必须支持Windows 7.
我正在开发一个Android应用程序,我必须在其中实现点对点语音聊天.我在Android中发现这可能在API级别12或更高级别,因为Google android.net.rtp在API级别12中添加了包.通过使用此包,我们可以实现点对点语音聊天和视频聊天.但我需要为API级别8实现此功能.现在我的问题是:
我正在开发一个Android应用程序,我希望使用sip/xmpp(会话启动协议)发送文本消息,任何人都可以给我代码,以及任何关于它在任何免费sip提供程序上开发和测试的指南.
最近发布的OPUS Audio编解码器(libopus?)是否可以编译为在移动设备上运行(阅读iPhone/Android)?
我已经搜索并得出结论,te文档声明它在ARM设备上运行,但在尝试编译库之后,它总是在交叉编译时失败.
我错了或者这次没有支持这样的设备吗?
我正在考虑实施基于浏览器的VOIP解决方案,该解决方案使用SIP和WebRTC并连接到PTSN.基本上,用户给我他们的SIP凭证,我使用WebRTC来接收他们的麦克风和扬声器.在页面上,我计划运行SIP客户端.
如何实现来自PTSN的来电?我是否需要某种连接到用户SIP服务器的监听器?
我知道这是一个广泛的问题,但在网上做了一些研究之后,我仍然对SIP来电的实施感到困惑.
如果用户强行退出应用程序(通过在多任务界面中轻扫)并且设备重新启动,我无法获取voip pushkit通知来重新启动应用程序.
但是,我可以在以下场景中使用voip pushkit通知:
该应用程序被强制退出然后推送通知到达.该应用程序将立即重新启动.在这种情况下,标准推送通知无法唤醒应用程序.
该应用程序处于后台/暂停状态,设备重新启动.由于Voip模式,应用程序将在设备重启时重新启动(我可以在Xcode活动监视器中看到该过程).这里需要一个技巧来正确处理pushkit通知,这在http://blog.biokoda.com/post/114315188985/ios-and-pushkit中用这些术语描述"在初始化PushKit之前启动后台任务.收到PushKit令牌时完成此任务"
不知何故,当组合这两个(设备重启和app强制退出)时,pushkit通知似乎不会重新启动应用程序.另外,当查看Xcode中的设备日志时,我没有得到来自apsd的日志,说该通知是由系统处理的.
这是我的代码:
@implementation AppDelegate
{
UIBackgroundTaskIdentifier bgTask;
}
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIApplication* app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
dispatch_async(dispatch_get_global_queue(
DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
while (true) {
;
}
});
// Initialize pushkit
PKPushRegistry *pushRegistry =
[[PKPushRegistry alloc] initWithQueue:dispatch_get_main_queue()];
pushRegistry.delegate = self;
pushRegistry.desiredPushTypes = [NSSet setWithObject:PKPushTypeVoIP];
return YES;
}
- (void)pushRegistry:(PKPushRegistry *)registry
didUpdatePushCredentials:(PKPushCredentials *)credentials
forType:(NSString *)type{
UIApplication* app = [UIApplication sharedApplication];
[app endBackgroundTask:bgTask]; …Run Code Online (Sandbox Code Playgroud) 我目前正在使用WebRTC进行VoIP.它将是一个用JavaScript编写的UWP应用程序.
现在,我试图通过测试Microsoft Edge上的https://webrtc.github.io/samples中的示例来检查它是否有效.
事实证明它除了 工作正常RTCPeerConnection.
例如,当我在Edge中打开https://webrtc.github.io/samples/src/content/peerconnection/audio时,它getUserMedia() error: NotFoundError在我点击呼叫按钮时给了我.在Chrome上,它运行正常.
另一个例子是当我尝试https://apprtc.appspot.com时,它给了我
Messages:
Error getting user media: null
getUserMedia error: Failed to get access to local media. Error name was NotFoundError. Continuing without sending a stream.
Create PeerConnection exception: InvalidAccessError
Version:
gitHash: c135495bc71e5da61344f098a8209a255f64985f
branch: master
time: Fri Apr 8 13:33:05 2016 +0200
Run Code Online (Sandbox Code Playgroud)
那么,我该如何解决这个问题呢?Adapter.js也被称为.我也允许它需要的一切.
或者我不应该将WebRTC用于此项目.如果是这样,我应该使用什么?
干杯!
我需要我的VoIP应用程序在重启设备后自动启动.
Apple文档明确提到: -
(=========编辑:这是来自官方Apple文档请在评论或回答之前看看这个,没有用户交互或静默推送通知无法启动应用程序.另外看看下面的Github项目,人们已经验证了这种行为)
UIBackgroundModes数组的值
价值:voip说明:该应用程序提供IP语音服务. 具有此密钥的应用程序会在系统启动后自动启动,以便应用程序可以重新建立VoIP服务.使用此密钥的应用也可以播放背景音频.
我确保: -
plist和Capabilities部分中.main方法和application:didFinishLaunchingWithOptions:方法中将日志添加到文件,确保设备重启后肯定没有启动应用程序.我甚至尝试用36颗星执行这个GitHub示例App来测试Boot Launch.https://github.com/lithium3141/BootLaunch
但是,当我尝试使用设备时,即使这个应用程序也不会在重新启动时重新启动.
因此,这让我想到最近在iOS10中是否有某些变化,或者我在这里仍然遗漏了什么?
我正在使用Webrtc和Callkit进行呼叫.当应用程序是前台时,一切正常,但如果屏幕被锁定,我接听电话音频只能在我这边工作(我可以听到音频,但我的声音没有发送).
当用户进入应用程序时,一切都已修复.
所有后台设置和功能都已正确设置.
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>fetch</string>
<string>remote-notification</string>
<string>voip</string>
</array>
Run Code Online (Sandbox Code Playgroud)
我尝试使用RTCAudioSession和AVAudioSession配置音频,但在这两种情况下它都以相同的方式工作.