diff options
author | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-12-16 04:25:49 +0000 |
---|---|---|
committer | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-12-16 04:25:49 +0000 |
commit | c805315084b5f9803b152eb565bb1253fcb5ed43 (patch) | |
tree | b4995f24e7f34f2ba4afdffda0a38ed5b0bee5c4 /channels/h323/ast_h323.cpp | |
parent | ee9a76e7cb3df0d6b28229e8ae7b1667e4a48c3f (diff) |
Properly deal with Q.931 cause codes
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4470 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/h323/ast_h323.cpp')
-rwxr-xr-x | channels/h323/ast_h323.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/channels/h323/ast_h323.cpp b/channels/h323/ast_h323.cpp index fc77e9b85..91e8b85c1 100755 --- a/channels/h323/ast_h323.cpp +++ b/channels/h323/ast_h323.cpp @@ -301,7 +301,7 @@ BOOL MyH323EndPoint::ClearCall(const PString & token) if (h323debug) { cout << "\t-- ClearCall: Request to clear call with token " << token << endl; } - return ClearCall(token, H323Connection::EndedByLocalUser); + return H323EndPoint::ClearCall(token, H323Connection::EndedByLocalUser); } void MyH323EndPoint::SendUserTone(const PString &token, char tone) @@ -1287,13 +1287,15 @@ int h323_make_call(char *dest, call_details_t *cd, call_options_t *call_options) int h323_clear_call(const char *call_token, int cause) { H225_ReleaseCompleteReason dummy; - H323Connection::CallEndReason r = H323Connection::NumCallEndReasons; + H323Connection::CallEndReason r = H323Connection::EndedByLocalUser; if (!h323_end_point_exist()) { return 1; } - r = H323TranslateToCallEndReason((Q931::CauseValues)(cause), dummy); + if (cause) { + r = H323TranslateToCallEndReason((Q931::CauseValues)(cause), dummy); + } endPoint->ClearCall(PString(call_token), r); return 0; |