Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将TLS支持应用于ios版PJSIP_Ios_Iphone_Ssl_Voip_Pjsip - Fatal编程技术网

如何将TLS支持应用于ios版PJSIP

如何将TLS支持应用于ios版PJSIP,ios,iphone,ssl,voip,pjsip,Ios,Iphone,Ssl,Voip,Pjsip,我正在为IOS创建一个VoIP应用程序。 我正在为此使用pjsip开源库。 我能够在将pjsip配置为UDP时进行连接。 但我总是得到错误代码171060[创建传输时出错:不支持的传输(PJSIP_EUNSUPTRANSPORT)[状态=171060]] 我知道在为TLS配置文件设置时,我在某个地方犯了错误。 这就是我正在做的 pjsua_transport_config cfg; pjsua_transport_config_default(&cfg); cfg.por

我正在为IOS创建一个VoIP应用程序。 我正在为此使用pjsip开源库。 我能够在将pjsip配置为UDP时进行连接。 但我总是得到错误代码171060[创建传输时出错:不支持的传输(PJSIP_EUNSUPTRANSPORT)[状态=171060]]

我知道在为TLS配置文件设置时,我在某个地方犯了错误。 这就是我正在做的

pjsua_transport_config cfg;
    pjsua_transport_config_default(&cfg);
    cfg.port = 5061;
    cfg.tls_setting.ca_list_file = pj_str((char*)[[[NSBundle mainBundle] pathForResource:@"ca_list" ofType:@"pem"] cStringUsingEncoding:NSUTF8StringEncoding]); // location of cacert.pem

    cfg.tls_setting.cert_file = pj_str((char*)[[[NSBundle mainBundle] pathForResource:@"certificate" ofType:@"pem"] cStringUsingEncoding:NSUTF8StringEncoding]); // location of cacert.pem

    cfg.tls_setting.privkey_file = pj_str((char*)[[[NSBundle mainBundle] pathForResource:@"pvkey" ofType:@"pem"] cStringUsingEncoding:NSUTF8StringEncoding]); //

    cfg.tls_setting.password = pj_str("myPassword");
    cfg.tls_setting.verify_client = PJ_TRUE;
    cfg.tls_setting.verify_server = PJ_TRUE;
    cfg.tls_setting.method = PJSIP_TLSV1_METHOD;

    //
    NSLog(@"******TLS********");
    //pjsua_transport_id  transport_id = 1;
    status = pjsua_transport_create(PJSIP_TRANSPORT_TLS , &cfg, NULL);

    if (status != PJ_SUCCESS) error_exit("Error creating transport", status);
我在谷歌上下搜索了如何解决这个问题,但到目前为止我还没有找到任何具体的解决方案。 如果有人知道你能帮我吗???

解决了它。 没有添加新创建的框架。
而且不是胖库,所以问题就出现了。

您是否使用TLS支持编译pjsip?@juned是的,我使用openSSL启用编译了pjsip,但没有添加框架。请让我知道。如果您生成了PJSIP LIB,我也会遇到同样的问题。。然后检查是否添加了头文件。还可以合并支持不同arch的库,例如armv7、armv7、arm64,然后将这些库合并在一起。。然后把它们加起来。。检查此答案我如何添加现有的pjsip库?@RushangPrajapati为什么不现在就使用webrtc?这似乎有点过时。。