Исходящие звонки сбрасываются через 15 секунд в pjsip iphone - PullRequest
1 голос
/ 30 июня 2019

Я создаю SIP-приложение в ios, используя библиотеку pjsip 2.7, используя pod.Регистрация пользователя прошла успешно.но при совершении звонков он падает через 15 сек.

У нас есть приложение для Android, которое прекрасно работает, совершая звонки и получая.Конфигурация Android-приложения: установите ICE enable в false.Прокси очистил и установил прокси "".

попытался установить для media config значение null, когда pjsua init.Что делать, если я установил конфигурацию по умолчанию.Как я могу установить ICE enble false в ios.

Мы используем транспорт UDP.

У нас также есть записи журналов по ссылке diawi, но в журнале я могу найти только одну вещь:"PlayAndRecord_WithBluetooth" .isPlayingProcessAssertion "(audio: inf); id: \ Mb \ M ^ @ \ M- & FACE87DECDF7>

// Create pjsua first
    status = pjsua_create();
    if (status != PJ_SUCCESS) error_exit("Error in pjsua_create()", status);

    // Init pjsua
    {
        // Init the config structure
        pjsua_config cfg;
        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;

        // Init the logging config structure
        pjsua_logging_config log_cfg;
        pjsua_logging_config_default(&log_cfg);
        log_cfg.console_level = 4;
        log_cfg.level = 4;

        // Init the pjsua
        status = pjsua_init(&cfg, &log_cfg, NULL);
        if (status != PJ_SUCCESS) error_exit("Error in pjsua_init()", status);
    }

    // Add UDP transport.
    {
        // Init transport config structure
        pjsua_transport_config cfg;
        pjsua_transport_config_default(&cfg);
        cfg.port = 5080;

        // Add TCP transport.
        status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &cfg, NULL);
        if (status != PJ_SUCCESS) error_exit("Error creating transport udp", status);
    }



    // Initialization is done, now start pjsua
    status = pjsua_start();
    if (status != PJ_SUCCESS) error_exit("Error starting pjsua", status);

    // Register the account on local sip server
    {
        pjsua_acc_config cfg;

        pjsua_acc_config_default(&cfg);


        cfg.id = pj_str((char *)"sip:exampleuser@sip.linphone.org");

        cfg.reg_uri = uri
        cfg.proxy[0] = proxy
        cfg.cred_count = 1;
        cfg.cred_info[0].scheme = pj_str((char *)"digest");
        cfg.cred_info[0].realm = pj_str((char *)"*");
        cfg.cred_info[0].username = pj_str((char *)"exampleuser");
        cfg.cred_info[0].data_type = 0;
        cfg.cred_info[0].data = pj_str((char *)"examplepasswor");

        status = pjsua_acc_add(&cfg, PJ_TRUE, &acc_id);
        if (status != PJ_SUCCESS) error_exit("Error adding account", status);

    }

Работает нормально, когда мы тестируем в Индии адрес IPV4, но когда я даю сборкуклиенту он говорит, что исходящие звонки не работают и сбрасываются через 15 секунд, и пользовательский интерфейс зависает.

Мы уже тестировали i много версий iphone и 12.3.1 для ios. Исходящие звонки работают нормально, но, к сожалению, не для клиента. Пожалуйста, помогите

1 Ответ

1 голос
/ 08 июля 2019

Это случай сетевых возможностей, к которым вы обращаетесь. Возможно, ваша клиентская сеть не поддерживает некоторые термины, которые pjsip обновил в новых библиотеках. Вы должны попробовать проверить более старую версию pjsip pod. как 2.5.5.

Иногда сеть не обрабатывает более 1500 байт. Пожалуйста, обратитесь к этой ссылке для понимания того, как уменьшить размер исходящего сообщения оптимизация конфигурации

...