Tag: PJSIP

如何在Objective C中创build一个指针来快速?

我正在开发一个iOS应用程序,我想创build一个指向我的swift代码中的视图的指针。 目前我在我的目标C文件中有这个: MyViewController *viewController=[MyViewController new]; 在我的MyViewController.swift我有一个UIView字段,我想要显示的东西,我在我的目标C文件中处理。 就目前来说,这是行不通的,我的印象是我误解了一些东西。 我的当前指针是指MyViewController的特定实例,还是指向类? (这个问题跟在我以前的问题: 如何在iOS中集成pjsipvideo? ) 谢谢

VOIP呼叫断开后如何closuresCallkit屏幕

我试图删除callkit屏幕,一旦我的VoIP呼叫断开源或目的地。 我用这个代码 CXEndCallAction *endaction = [[CXEndCallAction alloc] initWithCallUUID:[NSUUID UUID]]; CXCallController *callController = [[CXCallController alloc] initWithQueue:dispatch_get_main_queue()]; requestTransaction:[CXTransaction transactionWithActions:nil completion:completion]]; 但是它并没有closurescallkit。 任何人都可以帮我解决这个问题吗?

PJSIP从IOS的Nat64networking注册到IPV4服务器

我正在开发使用pjsip-2.6和IPV4 sip server的IOS应用程序。 首先在configsite.h以下代码构buildconfigsite.h #define PJ_HAS_IPV6 1 build立成功。 然后我把这些库添加到我的项目中。运行在IPV4networking中的应用程序。它成功注册并且语音通话效果很好。 然后我把networking切换到苹果Nat64networking..没有作品。这里是我的代码片段。 为了在IPV4上创buildudp传输,我使用了下面的代码。 pjsua_transport_config cfg; pjsua_transport_config_default(&cfg); cfg.port = 5060; // Add UDP transport. status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &cfg, &transport_id); if (status != PJ_SUCCESS) error_exit("Error creating transport", status); 对于在IPV6上创build传输,我使用了下面的代码。 pjsua_transport_config cfg; pjsua_transport_config_default(&cfg); cfg.port = 5070; // Add UDP transport for ipv6 status = pjsua_transport_create(PJSIP_TRANSPORT_UDP6, &cfg, &transport_id_udp6); if (status != […]

在iOS应用程序中集成pjsip

我是Goosip / AKSSIP pjsip包装,但无法连接到服务器。 任何人都可以指导我在iOS项目中实现pjsip。 谢谢!

TLSv1_2(TLS1.2)支持PJSIP库

我在我的Android / iOS应用程序中使用最新的PJSIP库。 我想在我的项目中使用TLSv1.2连接。 PJSIP支持哪个TLS版本? 从源代码似乎是支持TLSv1.0。 有没有办法将TLSv1_2支持添加到PJSIP库?

如何在iOS中创build应该由库调用的callBack

我正在开发一个使用以C-Language编写的PJSIP Library的VOIP_App,根据情况自动调用写在该库中的大部分方法。 有一个名为on_incoming_call方法自动调用,用户接收调用,我想添加一些用户交互来接收调用,我需要创build一些callBack,这个方法应该被调用,方法定义应该写在Objective-C 这里是代码片段: /* Callback called by the library upon receiving incoming call */ static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, pjsip_rx_data *rdata) { pjsua_call_info ci; PJ_UNUSED_ARG(acc_id); PJ_UNUSED_ARG(rdata); pjsua_call_get_info(call_id, &ci); PJ_LOG(3,(THIS_FILE, "….\n\n\n Incoming call from %.*s!! \n\n\n", (int)ci.remote_info.slen, ci.remote_info.ptr)); /* Automatically answer incoming calls with 200/OK */ pjsua_call_answer(call_id, 200, NULL, NULL); }

PjSip添加多个标题

我正在开发一个VoIP电话使用pjsip的SIP应用程序作为SIP堆栈,我想添加自定义头可以添加,但只有一个被添加,卡住我不忍受什么是错的,下面是我的代码片段 pj_status_t status = PJ_SUCCESS; pj_str_t pj_uri; pjsua_msg_data msg_data; pjsip_generic_string_hdr subject; pj_str_t hvalue, hname; pj_uri = pj_str((char *)uri); for(NSString *key in [headers allKeys]){ NSLog(@"Call.m key value in call %@,%@",key,[headers objectForKey:key] ); pjsua_msg_data_init(&msg_data); hname = pj_str((char *)[key UTF8String]); char * headerValue=(char *)[(NSString *)[headers objectForKey:key] UTF8String]; hvalue = pj_str(headerValue); pjsip_generic_string_hdr_init2 (&subject, &hname, &hvalue); pj_list_push_back(&msg_data.hdr_list, &subject); } status […]

PJSIP:找不到错误文件

我正在项目项目上工作,使iOS应用程序像使用VoIP协议的Viber/Skype一样工作。 为此我使用pjsip SDK但我得到一些错误:( 未find文件,未知types名称等 请帮忙。 提前致谢。

如何在没有SIP服务器的情况下拨打直接IP到IP的电话?

有没有办法通过拨打本地IP地址拨打电话? 只需一个IP到IP的呼叫。 我怎样才能做到这一点? 我应该在pjsip代码中做什么修改? 我不想在任何服务器或VOIP提供商注册。 这个通话只会在本地WiFi上发生,就像SJPhone在Mac( http://www.sjlabs.com/sjp.html )中的应用一样。

pjsip接收短信

任何人都知道如何设置一个pjsip客户端接收消息的好例子。 我可以使用以下方式从客户端发送消息: pjsua_im_send(sip_acc_id, &to, NULL, &msgbody, NULL, NULL); 到任何数字。 但我不知道该怎么做,以接收消息到已注册的SIP帐户。 任何信息,将不胜感激。 注意:我只能使用pjsip而不能使用其他库。 编辑:我发现了一些新的东西: http://trac.pjsip.org/repos/ticket/1070 http://www.pjsip.org/release/0.5.4/PJSIP-Dev-Guide.pdf (然而,所有这个文件说传入消息是这样的: 16.1.2接收消息 应用程序模块将接收任何对话框外部的传入MESSAGE请求。 在对话框中传入的MESSAGE请求将通过对话框的on_tsx_state()callback被通知给对话使用。 这对于如何处理传入的消息仍然没有多大亮点。 http://www.ietf.org/rfc/rfc3261.txt http://trac.pjsip.org/repos/wiki/SIP_Message_Buffer_Event 编辑2:我已经被告知on_pager函数需要用于这个function。 所以我尝试,但不幸的是仍然没有成功。 这是我做的: /* Initialize application callbacks */ app_config->cfg.cb.on_call_state = &on_call_state; app_config->cfg.cb.on_call_media_state = &on_call_media_state; app_config->cfg.cb.on_incoming_call = &on_incoming_call; app_config->cfg.cb.on_reg_state = &on_reg_state; app_config->cfg.cb.on_pager = &on_pager; 和on_pager实现: static void on_pager(pjsua_call_id call_id, const pj_str_t *from, const pj_str_t […]