ios 如何为 PJSIP 应用 TLS 支持

How to apply TLS support to PJSIP for ios

我正在为 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 上上下搜索如何解决这个问题,但到目前为止我还没有找到任何具体的解决方案。 请问有知道的可以帮帮我吗??

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