1903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan/* 2903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * Copyright (C) 2010 The Android Open Source Project 3903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * 4903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * Licensed under the Apache License, Version 2.0 (the "License"); 5903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * you may not use this file except in compliance with the License. 6903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * You may obtain a copy of the License at 7903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * 8903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * http://www.apache.org/licenses/LICENSE-2.0 9903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * 10903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * Unless required by applicable law or agreed to in writing, software 11903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * distributed under the License is distributed on an "AS IS" BASIS, 12903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * See the License for the specific language governing permissions and 14903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan * limitations under the License. 15903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan */ 16903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan 17903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyanpackage android.net.sip; 18903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan 19903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan/** 2002b1d685cc287d7c53141872b3d80be4ee5dd59eScott Main * Defines error codes returned during SIP actions. For example, during 2102b1d685cc287d7c53141872b3d80be4ee5dd59eScott Main * {@link SipRegistrationListener#onRegistrationFailed onRegistrationFailed()}, 2202b1d685cc287d7c53141872b3d80be4ee5dd59eScott Main * {@link SipSession.Listener#onError onError()}, 2302b1d685cc287d7c53141872b3d80be4ee5dd59eScott Main * {@link SipSession.Listener#onCallChangeFailed onCallChangeFailed()} and 2402b1d685cc287d7c53141872b3d80be4ee5dd59eScott Main * {@link SipSession.Listener#onRegistrationFailed onRegistrationFailed()}. 25903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan */ 2697963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyanpublic class SipErrorCode { 2797963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan /** Not an error. */ 2897963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int NO_ERROR = 0; 2997963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan 30903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan /** When some socket error occurs. */ 3197963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int SOCKET_ERROR = -1; 32903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan 33903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan /** When server responds with an error. */ 3497963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int SERVER_ERROR = -2; 35903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan 363d7606aa607b24817e37c264f2141ed7b2d50be0Hung-ying Tyan /** When transaction is terminated unexpectedly. */ 3797963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int TRANSACTION_TERMINTED = -3; 383d7606aa607b24817e37c264f2141ed7b2d50be0Hung-ying Tyan 39903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan /** When some error occurs on the device, possibly due to a bug. */ 4097963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int CLIENT_ERROR = -4; 41903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan 42903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan /** When the transaction gets timed out. */ 4397963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int TIME_OUT = -5; 44903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan 45903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan /** When the remote URI is not valid. */ 4697963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int INVALID_REMOTE_URI = -6; 47903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan 48ae076d3981fda732d54b6c6e37e5659b2e7ba130Hung-ying Tyan /** When the peer is not reachable. */ 4997963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int PEER_NOT_REACHABLE = -7; 50ae076d3981fda732d54b6c6e37e5659b2e7ba130Hung-ying Tyan 51903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan /** When invalid credentials are provided. */ 5297963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int INVALID_CREDENTIALS = -8; 533d7606aa607b24817e37c264f2141ed7b2d50be0Hung-ying Tyan 543d7606aa607b24817e37c264f2141ed7b2d50be0Hung-ying Tyan /** The client is in a transaction and cannot initiate a new one. */ 5597963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int IN_PROGRESS = -9; 56d231aa880ab006d51ffe03454c1fc082f1c97bb8Hung-ying Tyan 57d231aa880ab006d51ffe03454c1fc082f1c97bb8Hung-ying Tyan /** When data connection is lost. */ 5897963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static final int DATA_CONNECTION_LOST = -10; 5997963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan 6000a22064efef4f574e439079aae2deae1a087a31Hung-ying Tyan /** Cross-domain authentication required. */ 6100a22064efef4f574e439079aae2deae1a087a31Hung-ying Tyan public static final int CROSS_DOMAIN_AUTHENTICATION = -11; 6200a22064efef4f574e439079aae2deae1a087a31Hung-ying Tyan 63c6548fd9eda7b58f5a2e2a9c01e3c7cafd42fafbHung-ying Tyan /** When the server is not reachable. */ 64c6548fd9eda7b58f5a2e2a9c01e3c7cafd42fafbHung-ying Tyan public static final int SERVER_UNREACHABLE = -12; 65c6548fd9eda7b58f5a2e2a9c01e3c7cafd42fafbHung-ying Tyan 6697963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan public static String toString(int errorCode) { 6797963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan switch (errorCode) { 6897963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case NO_ERROR: 6997963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "NO_ERROR"; 7097963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case SOCKET_ERROR: 7197963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "SOCKET_ERROR"; 7297963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case SERVER_ERROR: 7397963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "SERVER_ERROR"; 7497963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case TRANSACTION_TERMINTED: 7597963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "TRANSACTION_TERMINTED"; 7697963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case CLIENT_ERROR: 7797963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "CLIENT_ERROR"; 7897963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case TIME_OUT: 7997963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "TIME_OUT"; 8097963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case INVALID_REMOTE_URI: 8197963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "INVALID_REMOTE_URI"; 8297963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case PEER_NOT_REACHABLE: 8397963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "PEER_NOT_REACHABLE"; 8497963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case INVALID_CREDENTIALS: 8597963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "INVALID_CREDENTIALS"; 8697963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case IN_PROGRESS: 8797963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "IN_PROGRESS"; 8897963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan case DATA_CONNECTION_LOST: 8997963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "DATA_CONNECTION_LOST"; 9000a22064efef4f574e439079aae2deae1a087a31Hung-ying Tyan case CROSS_DOMAIN_AUTHENTICATION: 9100a22064efef4f574e439079aae2deae1a087a31Hung-ying Tyan return "CROSS_DOMAIN_AUTHENTICATION"; 92c6548fd9eda7b58f5a2e2a9c01e3c7cafd42fafbHung-ying Tyan case SERVER_UNREACHABLE: 93c6548fd9eda7b58f5a2e2a9c01e3c7cafd42fafbHung-ying Tyan return "SERVER_UNREACHABLE"; 9497963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan default: 9597963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan return "UNKNOWN"; 9697963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan } 9797963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan } 9897963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan 9997963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan private SipErrorCode() { 10097963794af1e18674dd111e3ad344d90b16c922cHung-ying Tyan } 101903e1031605d715e904811b0dd06cc6a518f0048Hung-ying Tyan} 102