function hc(cause){ switch (cause) { case 'UNSPECIFIED': return 'Неизвестная ошибка'; break; case 'UNALLOCATED_NUMBER': return 'Несуществующий номер'; break; case 'NO_ROUTE_TRANSIT_NET': return 'Нет транзитного маршрута'; break; case 'NO_ROUTE_DESTINATION': return 'Нет заданного маршрута'; break; case 'CHANNEL_UNACCEPTABLE': return 'Отказ не принят'; break; case 'CALL_AWARDED_DELIVERED': return ''; break; case 'NORMAL_CLEARING': return ''; break; case 'USER_BUSY': return 'Абонент занят'; break; case 'NO_USER_RESPONSE': return 'Абонент не ответил'; break; case 'NO_ANSWER': return 'Нет ответа'; break; case 'SUBSCRIBER_ABSENT': return 'Абонент не в сети'; break; case 'CALL_REJECTED': return 'Вызов отклонен'; break; case 'NUMBER_CHANGED': return 'Номер изменился'; break; case 'REDIRECTION_TO_NEW_DESTINATION': return 'Вызов переадресован'; break; case 'EXCHANGE_ROUTING_ERROR': return 'Ошибка оператора'; break; case 'DESTINATION_OUT_OF_ORDER': return 'Нет заданного маршрута'; break; case 'INVALID_NUMBER_FORMAT': return 'Ошибка в номере'; break; case 'FACILITY_REJECTED': return 'Услуга недоступна'; break; case 'RESPONSE_TO_STATUS_ENQUIRY': return $cause; break; case 'NORMAL_UNSPECIFIED': return 'Нет канала связи'; break; case 'NORMAL_CIRCUIT_CONGESTION': return 'Нет канала связи'; break; case 'NETWORK_OUT_OF_ORDER': return 'Сеть недоступна'; break; case 'NORMAL_TEMPORARY_FAILURE': return 'Временная ошибка'; break; case 'SWITCH_CONGESTION': return 'Компьютерная сеть перегружена'; break; case 'ACCESS_INFO_DISCARDED': return 'Отказ в обслуживании'; break; case 'REQUESTED_CHAN_UNAVAIL': return 'Канал связи недоступен'; break; case 'PRE_EMPTED': return $cause; break; case 'FACILITY_NOT_SUBSCRIBED': return 'Нет доступа к услуги'; break; case 'OUTGOING_CALL_BARRED': return 'Исходящий вызов запрещен'; break; case 'INCOMING_CALL_BARRED': return 'Входящий вызов запрещен'; break; case 'BEARERCAPABILITY_NOTAUTH': return $cause; break; case 'BEARERCAPABILITY_NOTAVAIL': return $cause; break; case 'SERVICE_UNAVAILABLE': return 'Сервис недоступен'; break; case 'BEARERCAPABILITY_NOTIMPL': return 'Плохое интернет соединение'; break; case 'CHAN_NOT_IMPLEMENTED': return 'Данный тип связи не поддерживается'; break; case 'FACILITY_NOT_IMPLEMENTED': return 'Данная услуга не поддерживается'; break; case 'SERVICE_NOT_IMPLEMENTED': return 'Сервис не реализован'; break; case 'INVALID_CALL_REFERENCE': return 'Ошибка в ссылке звонка'; break; case 'INCOMPATIBLE_DESTINATION': return 'Несовместимое назначение'; break; case 'INVALID_MSG_UNSPECIFIED': return 'Ошибка сообщения'; break; case 'MANDATORY_IE_MISSING': return 'Устройство не соответствует стандартам'; break; case 'MESSAGE_TYPE_NONEXIST': return 'Тип сообщения отсутствует'; break; case 'WRONG_MESSAGE': return 'Неверное сообщение'; break; case 'IE_NONEXIST': return 'Устройство не соответствует стандартам'; break; case 'INVALID_IE_CONTENTS': return 'Устройство не соответствует стандартам'; break; case 'WRONG_CALL_STATE': return 'Устройство не соответствует стандартам'; break; case 'RECOVERY_ON_TIMER_EXPIRE': return 'Время истекло'; break; case 'MANDATORY_IE_LENGTH_ERROR': return 'Устройство не соответствует стандартам'; break; case 'PROTOCOL_ERROR': return 'Устройство не соответствует стандартам'; break; case 'INTERWORKING': return 'Неустойчивое взаимодействие'; break; case 'ORIGINATOR_CANCEL': return 'Вызов отменен'; break; case 'CRASH': return 'Случилось страшное'; break; case 'SYSTEM_SHUTDOWN': return 'Потерпите минуту сервер перезагружается'; break; case 'LOSE_RACE': return 'Обрыв линии связи'; break; case 'MANAGER_REQUEST': return 'Завершен через API'; break; case 'BLIND_TRANSFER': return 'Без условный перевод'; break; case 'ATTENDED_TRANSFER': return 'Условный перевод'; break; case 'ALLOTTED_TIMEOUT': return 'Выделенный таймаут'; break; case 'USER_CHALLENGE': return 'У абонента проблемы'; break; case 'MEDIA_TIMEOUT': return 'Кончилась музыка'; break; case 'PICKED_OFF': return 'Перехвачен'; break; case 'USER_NOT_REGISTERED': return 'Абонент не зарегистрирован'; break; case 'PROGRESS_TIMEOUT': return 'Время ожидания вышло'; break; default: return $cause; break; } }