Fixed #1077: In ICE stream transport (ice_strans.c), automaticaly retry allocation once if TURN allocation fails. If this allocation retry also fails, notify the TURN user via on_ice_complete() callback. Details:
- added new PJ_ICE_STRANS_OP_KEEP_ALIVE operation
- also added new on_ice_transport_error() pjsua callback to allow application to react to the failure.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3212 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index 311c015..8401208 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -862,6 +862,16 @@
}
}
break;
+ case PJ_ICE_STRANS_OP_KEEP_ALIVE:
+ if (result != PJ_SUCCESS) {
+ PJ_PERROR(4,(THIS_FILE, result,
+ "ICE keep alive failure for transport %d", id));
+ }
+ if (pjsua_var.ua_cfg.cb.on_ice_transport_error) {
+ (*pjsua_var.ua_cfg.cb.on_ice_transport_error)(id, op, result,
+ NULL);
+ }
+ break;
}
}