Difference between revisions of "H323 hangupcause codes"

From Kolmisoft Wiki
Jump to navigationJump to search
(New page: This is useful to find why H323 call failed using '''h323 debug''' command in Asterisk CLI. Data taken from /asterisk/channels/h323/ast_h323.cxx void MyH323EndPoint::OnConnectionCleared...)
 
 
Line 1: Line 1:
This is useful to find why H323 call failed using '''h323 debug''' command in Asterisk CLI.
This is useful to find why H323 call failed by using '''h323 debug''' command in Asterisk CLI.


Data taken from /asterisk/channels/h323/ast_h323.cxx
Data taken from /asterisk/channels/h323/ast_h323.cxx

Latest revision as of 01:24, 24 May 2010

This is useful to find why H323 call failed by using h323 debug command in Asterisk CLI.

Data taken from /asterisk/channels/h323/ast_h323.cxx

void MyH323EndPoint::OnConnectionCleared(H323Connection & connection, const PString & clearedCallToken)
{
       PString remoteName = connection.GetRemotePartyName();
       switch (connection.GetCallEndReason()) {
               case H323Connection::EndedByCallForwarded:
                       if (h323debug) {
                               cout << "-- " << remoteName << " has forwarded the call" << endl;
                       }
                       break;
               case H323Connection::EndedByRemoteUser:
                       if (h323debug) {
                               cout << "-- " << remoteName << " has cleared the call" << endl;
                       }
                       break;
               case H323Connection::EndedByCallerAbort:
                       if (h323debug) {
                               cout << "-- " << remoteName << " has stopped calling" << endl;
                       }
                       break;
               case H323Connection::EndedByRefusal:
                       if (h323debug) {
                               cout << "-- " << remoteName << " did not accept your call" << endl;
                       }
                       break;
               case H323Connection::EndedByRemoteBusy:
                       if (h323debug) {
                               cout << "-- " << remoteName << " was busy" << endl;
                       }
                       break;
               case H323Connection::EndedByRemoteCongestion:
                       if (h323debug) {
                               cout << "-- Congested link to " << remoteName << endl;
                       }
                       break;
               case H323Connection::EndedByNoAnswer:
                       if (h323debug) {
                               cout << "-- " << remoteName << " did not answer your call" << endl;
                       }
                       break;
               case H323Connection::EndedByTransportFail:
                       if (h323debug) {
                               cout << "-- Call with " << remoteName << " ended abnormally" << endl;
                       }
                       break;
               case H323Connection::EndedByCapabilityExchange:
                       if (h323debug) {
                               cout << "-- Could not find common codec with " << remoteName << endl;
                       }
                       break;
               case H323Connection::EndedByNoAccept:
                       if (h323debug) {
                               cout << "-- Did not accept incoming call from " << remoteName << endl;
                       }
                       break;
               case H323Connection::EndedByAnswerDenied:
                       if (h323debug) {
                               cout << "-- Refused incoming call from " << remoteName << endl;
                       }
                       break;
               case H323Connection::EndedByNoUser:
                       if (h323debug) {
                               cout << "-- Remote endpoint could not find user: " << remoteName << endl;
                       }
                       break;
               case H323Connection::EndedByNoBandwidth:
                       if (h323debug) {
                               cout << "-- Call to " << remoteName << " aborted, insufficient bandwidth." << endl;
                       }
                       break;
               case H323Connection::EndedByUnreachable:
                       if (h323debug) {
                               cout << "-- " << remoteName << " could not be reached." << endl;
                       }
                       break;
               case H323Connection::EndedByHostOffline:
                       if (h323debug) {
                               cout << "-- " << remoteName << " is not online." << endl;
                       }
                       break;
               case H323Connection::EndedByNoEndPoint:
                       if (h323debug) {
                               cout << "-- No phone running for " << remoteName << endl;
                       }
                       break;
               case H323Connection::EndedByConnectFail:
                       if (h323debug) {
                               cout << "-- Transport error calling " << remoteName << endl;
                       }
                       break;
..........
       }