如何对ios的PJSIP应用TLS支持

时间:2015-09-18 11:32:34

标签: ios iphone ssl voip pjsip

我正在为IOS创建一个VoIP应用程序。 我正在使用pjsip开源库。 当我将pjsip配置为UDP时,我能够连接。 但我总是得到错误代码171060 [创建传输时出错:不支持的传输(PJSIP_EUNSUPTRANSPORT)[status = 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);

我在google上搜索过如何解决这个问题,但到目前为止我还没有找到任何具体的解决方案。 如果有人知道你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

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