草庐IT

android - VoIP 调用在不同的网络中不起作用(使用 PJSIP 和 Kamailio 服务器)

我在一个azure实例上设置了kamailio4.2作为服务器,对于客户端,我正在为Android和iOS应用程序使用PJSIP库。当两个设备都连接到同一网络时,语音通话似乎运行良好,但是,其中一个设备连接到不同的网络(或者当两个设备都在不同的网络中时),它们能够在SIP服务器上注册,甚至可以在两个设备之间触发和接受通话,但两端都听不到音频。*我什至设置了rtpproxy。谁能帮帮我?提前致谢。 最佳答案 请检查您在kamailio配置中提供的IP地址,使用外部IP地址而不是内部IP地址。

ios - 如何在 iOS 中创建应由库调用的回调

我正在开发一个使用PJSIP库的VOIP_App,它是用C语言编写的,该库中编写的大部分方法都是根据情况自动调用的。有一个名为on_incoming_call的方法会自动调用并且用户会收到电话,我想添加一些用户交互来接听电话,我需要创建一些回调,应该在这个方法中调用,并且方法定义应该用Objective-C来写。代码片段如下:/*Callbackcalledbythelibraryuponreceivingincomingcall*/staticvoidon_incoming_call(pjsua_acc_idacc_id,pjsua_call_idcall_id,pjsip_rx_d

ios - SRTP 问题 : PJSIP Error initializing media channel: Not Acceptable Here [status=170488]

我正在尝试使用PJSIP在我的iOS应用程序中运行SRTP。我有TLS工作,没有SRTP我可以调用和接听电话。但是,对于SRTP,我在INVITE上遇到了这个奇怪的488错误。它无法初始化媒体。我读过其他提到编解码器的文章。但我已经确保我的Asterisk服务器使用的代码和我的iOS应用程序上使用PJSIP库编译的代码是相同的。我在这里看到的唯一一件事是我启用了加密,但PJSIP不喜欢它。有什么想法吗?INVITEsip:[REDACTED]@[REDACTED]:47229;transport=TLS;obSIP/2.0Via:SIP/2.0/TLS[REDACTED]:5161;r

ios - 远程音频未连接 : iOS, PJSIP 2.6、CallKit、PJSUA2

我正在更新现有的iOSVOIP应用程序以将CallKit与PJSIP2.6和PJSUA2结合使用。经过一些努力,CallKit实现似乎按预期工作。可以接受或拒绝来电,如果接受,将通过应用内事件调用ViewController进行连接和控制。然而,音频在pjsip端似乎没有正确连接。没有音频从远程调用者传入或传出。麦克风音频似乎被路由回iPhone扬声器。SIP音频端口应在回调函数onCallMediaState中连接:虚拟无效onCallMediaState(OnCallMediaStateParam&prm){CallInfoci=getInfo();AudioMedia*audio

ios - 如何在ios中实现pjsip视频通话

使用pjsip实现音频通话工作正常但视频通话不工作。我应用了以下更改://饮初始化pj_status_tsip_startup(app_config_t*app_config){pjsua_configcfg;pjsua_config_default(&cfg);cfg.cb.on_incoming_call=&on_incoming_call;cfg.cb.on_call_media_state=&on_call_media_state;cfg.cb.on_call_state=&on_call_state;cfg.cb.on_reg_state2=&on_reg_state2;cf

ios - 如何在使用 pjsip 来电时唤醒 iOS 应用程序

我正在iOS中开发pjsip音频调用软电话应用程序。我希望我的应用程序在任何来电时打开。我试过在Asterisk上找到AGI。现在注册pushtrypjsip上没有文档下一步是什么//RegisterforVoIPnotifications-(void)voipRegistration{dispatch_queue_tmainQueue=dispatch_get_main_queue();//CreateapushregistryobjectPKPushRegistry*voipRegistry=[[PKPushRegistryalloc]initWithQueue:mainQueue

iphone - iPhone 中的 VoIP 实现

如何使用代码在iPhone中实现VoIP?有代码实现吗? 最佳答案 使用pjsip:).它是一个用C编写的SIP库。您必须为iphone编译源代码,它在文档中有描述here.之后看看一个非常基本的示例应用程序here.即使您不懂C或如何编译库,也不会很难使用。更新请注意,PJSIP使用GPL作为其许可证。 关于iphone-iPhone中的VoIP实现,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

ios - 无法为我的 iOS VoIP 应用程序显示 onComingCall ViewController

我希望我的应用程序在收到一些来电时显示IncomingCallViewController。这是我用来显示来电的代码。来self的ContactsViewController,当来电发生时它是事件View。-(void)showIncomigCallVC{[selfperformSegueWithIdentifier:@"segueToIncomingCallVC"sender:nil];}这是我的代码,由图书馆调用。/*Callbackcalledbythelibraryuponreceivingincomingcall*/staticvoidon_incoming_call(pjs

ios - 如何在 ios 中使用 pjsip 进行通话录音?

我制作了VOIP应用程序。现在我需要实现通话录音功能。我正在使用以下功能进行通话录音:+(NSString*)startRecording:(int)calliduserfilename:(NSString*)filename{pjsua_recorder_idrecorder_id;pj_status_tstatus;NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=[pathsobjectAtI

iphone - 为 Syphon- iPhone 客户端启用 g729 编解码器

我在启用G729编解码器时遇到问题。目前我正在使用xcode4.6编译Siphon和pjsip2.1库,以便从他们的官方网站从iPhone进行sip调用。我还找到了源代码,可以从此链接为设备和模拟器构建。https://github.com/radif/SIPHON-SIP-Client-that-actually-compiles我需要使用g729编解码器。谁能知道我该怎么做?请分享您的宝贵知识。 最佳答案 我实际上找到了csipsimple源更好地拉出位。基本上,您所要求的是pjsip和g729编解码器之间的“胶水”代码。在g7