我正在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;