85 lines
2.4 KiB
C++
85 lines
2.4 KiB
C++
/* Copyright(C) 2007-2014 VoIP objects (voipobjects.com)
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "ICEError.h"
|
|
|
|
using namespace ice;
|
|
|
|
std::string ErrorInfo::errorMsg(int errorCode)
|
|
{
|
|
switch (errorCode)
|
|
{
|
|
case 403: return "(Forbidden): The request was valid, but cannot be performed due \
|
|
to administrative or similar restrictions.";
|
|
|
|
case 437: return "(Allocation Mismatch): A request was received by the server that \
|
|
requires an allocation to be in place, but there is none, or a \
|
|
request was received which requires no allocation, but there is \
|
|
one.";
|
|
|
|
case 441: return "(Wrong Credentials): The credentials in the (non-Allocate) \
|
|
request, though otherwise acceptable to the server, do not match \
|
|
those used to create the allocation.";
|
|
|
|
case 442: return "(Unsupported Transport Protocol): The Allocate request asked the \
|
|
server to use a transport protocol between the server and the peer \
|
|
that the server does not support. NOTE: This does NOT refer to \
|
|
the transport protocol used in the 5-tuple.";
|
|
|
|
case 486: return "(Allocation Quota Reached): No more allocations using this \
|
|
username can be created at the present time.";
|
|
|
|
case 508: return "(Insufficient Capacity): The server is unable to carry out the \
|
|
request due to some capacity limit being reached. In an Allocate \
|
|
response, this could be due to the server having no more relayed \
|
|
transport addresses available right now, or having none with the \
|
|
requested properties, or the one that corresponds to the specified \
|
|
reservation token is not available.";
|
|
}
|
|
|
|
return "Unknown error.";
|
|
|
|
}
|
|
|
|
Exception::Exception(int errorCode, std::string errorMsg)
|
|
:mErrorCode(errorCode), mSubcode(0), mErrorMsg(errorMsg)
|
|
{
|
|
}
|
|
|
|
Exception::Exception(int code)
|
|
:mErrorCode(code), mSubcode(0)
|
|
{
|
|
}
|
|
|
|
Exception::Exception(int code, int subcode)
|
|
:mErrorCode(code), mSubcode(subcode)
|
|
{
|
|
|
|
}
|
|
|
|
Exception::Exception(const Exception& src)
|
|
:mErrorCode(src.mErrorCode), mErrorMsg(src.mErrorMsg)
|
|
{
|
|
}
|
|
|
|
Exception::~Exception()
|
|
{
|
|
}
|
|
|
|
int Exception::code()
|
|
{
|
|
return mErrorCode;
|
|
}
|
|
|
|
int Exception::subcode()
|
|
{
|
|
return mSubcode;
|
|
}
|
|
|
|
std::string Exception::message()
|
|
{
|
|
return mErrorMsg;
|
|
}
|