summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-09-15 08:30:16 +0000
committerBenny Prijono <bennylp@teluu.com>2007-09-15 08:30:16 +0000
commit229e150c7b96a344f371fe02262d363ed0b88898 (patch)
treebd8b4b253ceb3ba011088a91559cf0626dfcf6bc /pjsip-apps
parent560a0d9b22efac7c63b45566f8e69ac592421da1 (diff)
Ticket #370: Implemented callback notification to application when ICE negotiation fails (via on_call_media_state callback)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1435 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index a586b4dd..13f1dbd2 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -1675,6 +1675,14 @@ static void on_call_media_state(pjsua_call_id call_id)
PJ_LOG(3,(THIS_FILE,
"Media for call %d is suspended (hold) by remote",
call_id));
+ } else if (call_info.media_status == PJSUA_CALL_MEDIA_ERROR) {
+ pj_str_t reason = pj_str("ICE negotiation failed");
+
+ PJ_LOG(1,(THIS_FILE,
+ "Media has reported error, disconnecting call"));
+
+ pjsua_call_hangup(call_id, 500, &reason, NULL);
+
} else {
PJ_LOG(3,(THIS_FILE,
"Media for call %d is inactive",