Documentation

Router
in package

This class handles login, sessions and such.

and provides relevant methods for getting at the details. This has probably become quite a god object, but it's nice to use.

Table of Contents

$errors  : mixed
$routerAddress  : mixed
$http  : mixed
$sessionInfo  : mixed
$tokenInfo  : mixed
__construct()  : mixed
deleteSms()  : bool
Deletes an SMS by ID, also called "Index".
generalizedGet()  : SimpleXMLElement
Most API responses are just simple XML, so to avoid repetition this function will GET the route and return the object.
getCraddleStatus()  : SimpleXMLElement
Gets the current craddle status.
getInbox()  : SimpleXMLElement
Gets the SMS inbox.
getLedStatus()  : bool
Checks whatever we are logged in.
getMonthStats()  : SimpleXMLElement
Gets monthly statistics (numbers are in bytes) This probably only works if you have setup a limit.
getNetwork()  : SimpleXMLElement
Info about the current mobile network. (PLMN info).
getNotifications()  : SimpleXMLElement
Get notifications on router.
getSms()  : SimpleXMLElement
Gets the SMS status
getSmsCount()  : SimpleXMLElement
Get current SMS count.
getStatus()  : SimpleXMLElement
Gets the current router status.
getTrafficStats()  : SimpleXMLElement
Gets traffic statistics (numbers are in bytes).
getWlanClients()  : SimpleXMLElement
Get current WLAN Clients.
isLoggedIn()  : bool
Checks whatever we are logged in.
login()  : bool
Not all methods may work if you don't login.
markSmsAsRead()  : bool
Mark an SMS read by ID
sendSms()  : bool
Sends SMS to specified receiver. I don't know if it works for foreign numbers, but for local numbers you can just specifiy the number like you would normally call it and it should work, here in Denmark "42952777" etc (mine).
setAddress()  : mixed
Sets the router address.
setDataSwitch()  : bool
Sets the data switch to enable or disable the mobile connection.
setLedOn()  : bool
Gets the SMS inbox.
getUrl()  : string
Internal helper that lets us build the complete URL to a given route in the API.
prepare()  : mixed
Makes sure that we are ready for API usage.

Properties

$errors

public static mixed $errors = ['100001' => 'ERROR_UNKNOWN', '100002' => 'ERROR_NOT_SUPPORT', '100003' => 'ERROR_NO_RIGHT', '100004' => 'ERROR_BUSY', '100005' => 'ERROR_FORMAT_ERROR', '100006' => 'ERROR_PARAMETER_ERROR', '100007' => 'ERROR_SAVE_CONFIG_FILE_ERROR', '100008' => 'ERROR_GET_CONFIG_FILE_ERROR', '101001' => 'ERROR_NO_SIM_CARD_OR_INVALID_SIM_CARD', '101002' => 'ERROR_CHECK_SIM_CARD_PIN_LOCK', '101003' => 'ERROR_CHECK_SIM_CARD_PUN_LOCK', '101004' => 'ERROR_CHECK_SIM_CARD_CAN_UNUSEABLE', '101005' => 'ERROR_ENABLE_PIN_FAILED', '101006' => 'ERROR_DISABLE_PIN_FAILED', '101007' => 'ERROR_UNLOCK_PIN_FAILED', '101008' => 'ERROR_DISABLE_AUTO_PIN_FAILED', '101009' => 'ERROR_ENABLE_AUTO_PIN_FAILED', '102001' => 'ERROR_GET_NET_TYPE_FAILED', '102002' => 'ERROR_GET_SERVICE_STATUS_FAILED', '102003' => 'ERROR_GET_ROAM_STATUS_FAILED', '102004' => 'ERROR_GET_CONNECT_STATUS_FAILED', '103001' => 'ERROR_DEVICE_AT_EXECUTE_FAILED', '103002' => 'ERROR_DEVICE_PIN_VALIDATE_FAILED', '103003' => 'ERROR_DEVICE_PIN_MODIFFY_FAILED', '103004' => 'ERROR_DEVICE_PUK_MODIFFY_FAILED', '103005' => 'ERROR_DEVICE_GET_AUTORUN_VERSION_FAILED', '103006' => 'ERROR_DEVICE_GET_API_VERSION_FAILED', '103007' => 'ERROR_DEVICE_GET_PRODUCT_INFORMATON_FAILED', '103008' => 'ERROR_DEVICE_SIM_CARD_BUSY', '103009' => 'ERROR_DEVICE_SIM_LOCK_INPUT_ERROR', '103010' => 'ERROR_DEVICE_NOT_SUPPORT_REMOTE_OPERATE', '103011' => 'ERROR_DEVICE_PUK_DEAD_LOCK', '103012' => 'ERROR_DEVICE_GET_PC_AISSST_INFORMATION_FAILED', '103013' => 'ERROR_DEVICE_SET_LOG_INFORMATON_LEVEL_FAILED', '103014' => 'ERROR_DEVICE_GET_LOG_INFORMATON_LEVEL_FAILED', '103015' => 'ERROR_DEVICE_COMPRESS_LOG_FILE_FAILED', '103016' => 'ERROR_DEVICE_RESTORE_FILE_DECRYPT_FAILED', '103017' => 'ERROR_DEVICE_RESTORE_FILE_VERSION_MATCH_FAILED', '103018' => 'ERROR_DEVICE_RESTORE_FILE_FAILED', '103101' => 'ERROR_DEVICE_SET_TIME_FAILED', '103102' => 'ERROR_COMPRESS_LOG_FILE_FAILED', '104001' => 'ERROR_DHCP_ERROR', '106001' => 'ERROR_SAFE_ERROR', '107720' => 'ERROR_DIALUP_GET_CONNECT_FILE_ERROR', '107721' => 'ERROR_DIALUP_SET_CONNECT_FILE_ERROR', '107722' => 'ERROR_DIALUP_DIALUP_MANAGMENT_PARSE_ERROR', '107724' => 'ERROR_DIALUP_ADD_PRORILE_ERROR', '107725' => 'ERROR_DIALUP_MODIFY_PRORILE_ERROR', '107726' => 'ERROR_DIALUP_SET_DEFAULT_PRORILE_ERROR', '107727' => 'ERROR_DIALUP_GET_PRORILE_LIST_ERROR', '107728' => 'ERROR_DIALUP_GET_AUTO_APN_MATCH_ERROR', '107729' => 'ERROR_DIALUP_SET_AUTO_APN_MATCH_ERROR', '108001' => 'ERROR_LOGIN_NO_EXIST_USER', '108002' => 'ERROR_LOGIN_PASSWORD_ERROR', '108003' => 'ERROR_LOGIN_ALREADY_LOGINED', '108004' => 'ERROR_LOGIN_MODIFY_PASSWORD_FAILED', '108005' => 'ERROR_LOGIN_TOO_MANY_USERS_LOGINED', '108006' => 'ERROR_LOGIN_USERNAME_OR_PASSWORD_ERROR', '108007' => 'ERROR_LOGIN_TOO_MANY_TIMES', '109001' => 'ERROR_LANGUAGE_GET_FAILED', '109002' => 'ERROR_LANGUAGE_SET_FAILED', '110001' => 'ERROR_ONLINE_UPDATE_SERVER_NOT_ACCESSED', '110002' => 'ERROR_ONLINE_UPDATE_ALREADY_BOOTED', '110003' => 'ERROR_ONLINE_UPDATE_GET_DEVICE_INFORMATION_FAILED', '110004' => 'ERROR_ONLINE_UPDATE_GET_LOCAL_GROUP_COMMPONENT_INFORMATION_FAILED', '110005' => 'ERROR_ONLINE_UPDATE_NOT_FIND_FILE_ON_SERVER', '110006' => 'ERROR_ONLINE_UPDATE_NEED_RECONNECT_SERVER', '110007' => 'ERROR_ONLINE_UPDATE_CANCEL_DOWNLODING', '110008' => 'ERROR_ONLINE_UPDATE_SAME_FILE_LIST', '110009' => 'ERROR_ONLINE_UPDATE_CONNECT_ERROR', '110021' => 'ERROR_ONLINE_UPDATE_INVALID_URL_LIST', '110022' => 'ERROR_ONLINE_UPDATE_NOT_SUPPORT_URL_LIST', '110023' => 'ERROR_ONLINE_UPDATE_NOT_BOOT', '110024' => 'ERROR_ONLINE_UPDATE_LOW_BATTERY', '111001' => 'ERROR_USSD_ERROR', '111012' => 'ERROR_USSD_FUCNTION_RETURN_ERROR', '111013' => 'ERROR_USSD_IN_USSD_SESSION', '111014' => 'ERROR_USSD_TOO_LONG_CONTENT', '111016' => 'ERROR_USSD_EMPTY_COMMAND', '111017' => 'ERROR_USSD_CODING_ERROR', '111018' => 'ERROR_USSD_AT_SEND_FAILED', '111019' => 'ERROR_USSD_NET_NO_RETURN', '111020' => 'ERROR_USSD_NET_OVERTIME', '111021' => 'ERROR_USSD_XML_SPECIAL_CHARACTER_TRANSFER_FAILED', '111022' => 'ERROR_USSD_NET_NOT_SUPPORT_USSD', '112001' => 'ERROR_SET_NET_MODE_AND_BAND_WHEN_DAILUP_FAILED', '112002' => 'ERROR_SET_NET_SEARCH_MODE_WHEN_DAILUP_FAILED', '112003' => 'ERROR_SET_NET_MODE_AND_BAND_FAILED', '112004' => 'ERROR_SET_NET_SEARCH_MODE_FAILED', '112005' => 'ERROR_NET_REGISTER_NET_FAILED', '112006' => 'ERROR_NET_NET_CONNECTED_ORDER_NOT_MATCH', '112007' => 'ERROR_NET_CURRENT_NET_MODE_NOT_SUPPORT', '112008' => 'ERROR_NET_SIM_CARD_NOT_READY_STATUS', '112009' => 'ERROR_NET_MEMORY_ALLOC_FAILED', '113017' => 'ERROR_SMS_NULL_ARGUMENT_OR_ILLEGAL_ARGUMENT', '113018' => 'ERROR_SMS_OVERTIME', '113020' => 'ERROR_SMS_QUERY_SMS_INDEX_LIST_ERROR', '113031' => 'ERROR_SMS_SET_SMS_CENTER_NUMBER_FAILED', '113036' => 'ERROR_SMS_DELETE_SMS_FAILED', '113047' => 'ERROR_SMS_SAVE_CONFIG_FILE_FAILED', '113053' => 'ERROR_SMS_LOCAL_SPACE_NOT_ENOUGH', '113054' => 'ERROR_SMS_TELEPHONE_NUMBER_TOO_LONG', '114001' => 'ERROR_SD_FILE_EXIST', '114002' => 'ERROR_SD_DIRECTORY_EXIST', '114004' => 'ERROR_SD_FILE_OR_DIRECTORY_NOT_EXIST', '114005' => 'ERROR_SD_FILE_NAME_TOO_LONG', '114006' => 'ERROR_SD_NO_RIGHT', '114007' => 'ERROR_SD_FILE_IS_UPLOADING', '115001' => 'ERROR_PB_NULL_ARGUMENT_OR_ILLEGAL_ARGUMENT', '115002' => 'ERROR_PB_OVERTIME', '115003' => 'ERROR_PB_CALL_SYSTEM_FUCNTION_ERROR', '115004' => 'ERROR_PB_WRITE_FILE_ERROR', '115005' => 'ERROR_PB_READ_FILE_ERROR', '115199' => 'ERROR_PB_LOCAL_TELEPHONE_FULL_ERROR', '116001' => 'ERROR_STK_NULL_ARGUMENT_OR_ILLEGAL_ARGUMENT', '116002' => 'ERROR_STK_OVERTIME', '116003' => 'ERROR_STK_CALL_SYSTEM_FUCNTION_ERROR', '116004' => 'ERROR_STK_WRITE_FILE_ERROR', '116005' => 'ERROR_STK_READ_FILE_ERROR', '117001' => 'ERROR_WIFI_STATION_CONNECT_AP_PASSWORD_ERROR', '117002' => 'ERROR_WIFI_WEB_PASSWORD_OR_DHCP_OVERTIME_ERROR', '117003' => 'ERROR_WIFI_PBC_CONNECT_FAILED', '117004' => 'ERROR_WIFI_STATION_CONNECT_AP_WISPR_PASSWORD_ERROR', '118001' => 'ERROR_CRADLE_GET_CRURRENT_CONNECTED_USER_IP_FAILED', '118002' => 'ERROR_CRADLE_GET_CRURRENT_CONNECTED_USER_MAC_FAILED', '118003' => 'ERROR_CRADLE_SET_MAC_FAILED', '118004' => 'ERROR_CRADLE_GET_WAN_INFORMATION_FAILED', '118005' => 'ERROR_CRADLE_CODING_FAILED', '118006' => 'ERROR_CRADLE_UPDATE_PROFILE_FAILED']
Tags
link

Error codes.

$routerAddress

public mixed $routerAddress = 'http://192.168.8.1'

$http

protected mixed $http = null

$sessionInfo

protected mixed $sessionInfo = ''

$tokenInfo

protected mixed $tokenInfo = ''

Methods

__construct()

public __construct() : mixed
Return values
mixed

deleteSms()

Deletes an SMS by ID, also called "Index".

public deleteSms(mixed $index) : bool

The index on the Message object you get from getInbox will contain an "Index" property with a value like "40000" and up. Note: Will return true if the Index DOES NOT exist already.

Parameters
$index : mixed
Return values
bool

generalizedGet()

Most API responses are just simple XML, so to avoid repetition this function will GET the route and return the object.

public generalizedGet(mixed $route) : SimpleXMLElement
Parameters
$route : mixed
Return values
SimpleXMLElement

getCraddleStatus()

Gets the current craddle status.

public getCraddleStatus() : SimpleXMLElement
Return values
SimpleXMLElement

getInbox()

Gets the SMS inbox.

public getInbox([mixed $page = 1 ][, mixed $count = 20 ][, mixed $unreadPreferred = false ]) : SimpleXMLElement

Page parameter is NOT null indexed and starts at 1. I don't know if there is an upper limit on $count. Your milage may vary. unreadPrefered should give you unread messages first.

Parameters
$page : mixed = 1
$count : mixed = 20
$unreadPreferred : mixed = false
Return values
SimpleXMLElement

getLedStatus()

Checks whatever we are logged in.

public getLedStatus() : bool
Return values
bool

getMonthStats()

Gets monthly statistics (numbers are in bytes) This probably only works if you have setup a limit.

public getMonthStats() : SimpleXMLElement
Return values
SimpleXMLElement

getNetwork()

Info about the current mobile network. (PLMN info).

public getNetwork() : SimpleXMLElement
Return values
SimpleXMLElement

getNotifications()

Get notifications on router.

public getNotifications() : SimpleXMLElement
Return values
SimpleXMLElement

getSms()

Gets the SMS status

public getSms([int $page = 1 ][, int $pageSize = 100 ][, int $boxType = 1 ][, bool $unreadPreffered = true ]) : SimpleXMLElement
Parameters
$page : int = 1

page number during pagination

$pageSize : int = 100

maximum number of items per page

$boxType : int = 1

1 = inbox, 2 = outbox

$unreadPreffered : bool = true

if True, unread SMS'es are listed first, otherwise they are listed by date in descending order

Return values
SimpleXMLElement

getSmsCount()

Get current SMS count.

public getSmsCount() : SimpleXMLElement
Return values
SimpleXMLElement

getStatus()

Gets the current router status.

public getStatus() : SimpleXMLElement
Return values
SimpleXMLElement

getTrafficStats()

Gets traffic statistics (numbers are in bytes).

public getTrafficStats() : SimpleXMLElement
Return values
SimpleXMLElement

getWlanClients()

Get current WLAN Clients.

public getWlanClients() : SimpleXMLElement
Return values
SimpleXMLElement

isLoggedIn()

Checks whatever we are logged in.

public isLoggedIn() : bool
Return values
bool

login()

Not all methods may work if you don't login.

public login(mixed $username, mixed $password) : bool

Please note that the router is pretty aggressive at timing your session out. Call something periodically or just relogin on error.

Parameters
$username : mixed
$password : mixed
Return values
bool

markSmsAsRead()

Mark an SMS read by ID

public markSmsAsRead(int $index) : bool
Parameters
$index : int

ID of SMS to mark as Read

Return values
bool

sendSms()

Sends SMS to specified receiver. I don't know if it works for foreign numbers, but for local numbers you can just specifiy the number like you would normally call it and it should work, here in Denmark "42952777" etc (mine).

public sendSms(mixed $receiver, mixed $message) : bool

Message parameter got the normal SMS restrictions you know and love.

Parameters
$receiver : mixed
$message : mixed
Return values
bool

setAddress()

Sets the router address.

public setAddress(mixed $address) : mixed
Parameters
$address : mixed
Return values
mixed

setDataSwitch()

Sets the data switch to enable or disable the mobile connection.

public setDataSwitch(mixed $value) : bool
Parameters
$value : mixed
Return values
bool

setLedOn()

Gets the SMS inbox.

public setLedOn([mixed $on = false ]) : bool

Page parameter is NOT null indexed and starts at 1. I don't know if there is an upper limit on $count. Your milage may vary. unreadPrefered should give you unread messages first.

Parameters
$on : mixed = false
Return values
bool

getUrl()

Internal helper that lets us build the complete URL to a given route in the API.

protected getUrl(mixed $route) : string
Parameters
$route : mixed
Return values
string

prepare()

Makes sure that we are ready for API usage.

protected prepare() : mixed
Return values
mixed

Search results