]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add handy functions
authorMichael Jerris <mike@jerris.com>
Wed, 24 Sep 2008 21:19:29 +0000 (21:19 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 24 Sep 2008 21:19:29 +0000 (21:19 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9641 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/include/switch_channel.h
src/switch_channel.c

index f466db617754ee97237b883463a882cc6270bb47..e62a22a1eea5c0510a2bc118fa6493dc1b438bd7 100644 (file)
@@ -112,6 +112,9 @@ SWITCH_DECLARE(switch_call_cause_t) switch_channel_str2cause(_In_ const char *st
 */
 SWITCH_DECLARE(switch_call_cause_t) switch_channel_get_cause(_In_ switch_channel_t *channel);
 
+SWITCH_DECLARE(switch_call_cause_t) switch_channel_cause_q850(switch_call_cause_t cause);
+SWITCH_DECLARE(switch_call_cause_t) switch_channel_get_cause_q850(switch_channel_t *channel);
+
 /*!
   \brief return a cause string for a given cause
   \param cause the code to check
index c9fbf1fbb958d5a04d50ca388ccadf979b8feebf..1fa12c550bb0166ab1d39db9cbaf0c780f67006a 100644 (file)
@@ -165,6 +165,20 @@ SWITCH_DECLARE(switch_call_cause_t) switch_channel_get_cause(switch_channel_t *c
        return channel->hangup_cause;
 }
 
+SWITCH_DECLARE(switch_call_cause_t) switch_channel_cause_q850(switch_call_cause_t cause)
+{
+       if (cause <= SWITCH_CAUSE_INTERWORKING) {
+               return cause;
+       } else {
+               return SWITCH_CAUSE_NORMAL_CLEARING;
+       }
+}
+
+SWITCH_DECLARE(switch_call_cause_t) switch_channel_get_cause_q850(switch_channel_t *channel)
+{
+       return switch_channel_cause_q850(channel->hangup_cause);
+}
+
 SWITCH_DECLARE(switch_channel_timetable_t *) switch_channel_get_timetable(switch_channel_t *channel)
 {
        switch_channel_timetable_t *times = NULL;