1

我正在我的 android 应用程序中实现 PJSUA2 以进行 voip 呼叫。根据应用要求,有时我会尝试快速拨打电话,例如开始通话并在 1 秒内断开连接,然后再次尝试连接通话。在此期间,我的应用程序在连续呼叫和断开连接(大约 5-10 秒)后崩溃。我收到一个异常说:java.lang.Exception:谁在打电话?

我仅将 UDP 用于 VoIP 呼叫,并评论了 TCP 和 TSL 通道,因为它曾经在同一场景(连续呼叫)中提供不支持传输的异常。我将在下面发布我的传输设置。请看一看:

            /* Create transports. */
        try {

            ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_UDP,
                       sipTpConfig);
        } catch (Exception e) {
            System.out.println(e);
            Log.d("excmicbutton","1st"+e.getMessage());
        }

//      try {
//          ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TCP,
//                     sipTpConfig);
//      } catch (Exception e) {
//          System.out.println(e);
//          Log.d("excmicbutton","2nd"+e.getMessage());
//      }
//
//      try {
//          sipTpConfig.setPort(SIP_PORT +1);
//          ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TLS,
//                     sipTpConfig);
//      } catch (Exception e) {
//          System.out.println(e);
//          Log.d("excmicbutton","3rd"+e.getMessage());
//      }

            /* Set SIP port back to default for JSON saved config */
            sipTpConfig.setPort(SIP_PORT);

        /* Create accounts. */
        for (int i = 0; i < accCfgs.size(); i++) {
            MyAccountConfig my_cfg = accCfgs.get(i);

            /* Customize account config */
            my_cfg.accCfg.getNatConfig().setIceEnabled(true);
            my_cfg.accCfg.getVideoConfig().setAutoTransmitOutgoing(true);
            my_cfg.accCfg.getVideoConfig().setAutoShowIncoming(true);

            MyAccount acc = addAcc(my_cfg.accCfg);
            if (acc == null)
            continue;
4

0 回答 0