# -*- coding: euc-kr -*-

#-------------------------------------------------------------------------------
# Name:		dectConfig
# Purpose:	 DECT¿¡¼­ »ç¿ëµÇ´Â »ó¼ö¸¦ Á¤ÀÇÇÑ´Ù.
#
# Author:	  ·ùÈ£Ã¢
#
# Created:	 15-12-2007
# Copyright:   (c) LG-Nortel 2007
# Licence:	 <Ryoo Ho Chang GGU!>
#-------------------------------------------------------------------------------

# #### MESSAGE
# DIAL MESSAGE
DM_MESSAGE_DIAL_0	   = 0x00
DM_MESSAGE_DIAL_1	   = 0x01
DM_MESSAGE_DIAL_2	   = 0x02
DM_MESSAGE_DIAL_3	   = 0x03
DM_MESSAGE_DIAL_4	   = 0x04
DM_MESSAGE_DIAL_5	   = 0x05
DM_MESSAGE_DIAL_6	   = 0x06
DM_MESSAGE_DIAL_7	   = 0x07
DM_MESSAGE_DIAL_8	   = 0x08
DM_MESSAGE_DIAL_9	   = 0x09
DM_MESSAGE_DIAL_AST	 = 0x0A
DM_MESSAGE_DIAL_SHARP   = 0x0B
# REASON MESSAGE
MD_MESSAGE_FAIL_RP_NETWORK_ERROR	= 0x00
MD_MESSAGE_REL_INT_NETWORK_ERROR	= 0x01
MD_MESSAGE_REL_INT_NO_ANSWER		= 0x02

# (DECT --> MMI)
H2B_ACK								= 0x01
H2B_CONFIG_ACK						= 0x02
H2B_UPGRADE_ACK						= 0x03
H2B_MAKE_CALL_NOTIFY					= 0x04
H2B_CANCEL_CALL_NOTIFY				= 0x05
H2B_ACCEPT_CALL_NOTIFY				= 0x06
#H2B_REJECT_CALL_NOTIFY					= 0x07
H2B_DROP_CALL_NOTIFY					= 0x08
H2B_DTMF_NOTIFY						= 0x09
H2B_REG_ACK							= 0x0A
H2B_VP_ACK								= 0x0B
H2B_VP_TRANS_REQUEST					= 0x0C
H2B_VP_PAGING_RESULT					= 0x0D
H2B_VP_SUBS_RESULT					= 0x0E
H2B_UPGRADE_REQUEST					= 0x0F
H2B_SMS_SEND_NOTIFY					= 0x10
H2B_TONE_START_REQUEST				= 0x11
H2B_TONE_STOP_REQUEST				= 0x12
H2B_RELEASED_NOTIFY					= 0x13
H2B_INFO_NOTIFY						= 0x14
H2B_CONFIG_INFO_REQUEST				= 0x15
H2B_CONFIG_SET						= 0x16
H2B_SMS_RECV_RESULT					= 0x17
H2B_SMS_ACK							= 0x18
H2B_SYNCML_ACK						= 0x19
H2B_SYNCML_START_NOTIFY				= 0x1A
H2B_SYNCML_DATA_NOTIFY				= 0x1B
H2B_SYNCML_END_NOTIFY				= 0x1C
H2B_SYNCML_DATA_ACK					= 0x1D
H2B_SYNCML_CANCEL_NOTIFY			= 0x1E
H2B_SYNCML_QUERY						= 0x1F
H2B_SYNCML_FILE_INFO					= 0x20
H2B_SNMP_INFO_NOTIFY					= 0x21
H2B_SNMP_INFO							= 0x22
H2B_REGISTER_REQUEST					= 0x23
H2B_DIAL_DTMF_NOTIFY					= 0x24
H2B_DEREGISTER_REQUEST				= 0x25
H2B_REJECT_CALL_NOTIFY				= 0x27
H2B_VP_RFPI_RESULT					= 0x28

DICT_H2B_FUNCTION = { \
	H2B_ACK:'H2B_ACK',\
	H2B_CONFIG_ACK:'H2B_CONFIG_ACK', \
	H2B_UPGRADE_ACK:'H2B_UPGRADE_ACK', \
	H2B_MAKE_CALL_NOTIFY:'H2B_MAKE_CALL_NOTIFY', \
	H2B_CANCEL_CALL_NOTIFY:'H2B_CANCEL_CALL_NOTIFY', \
	H2B_ACCEPT_CALL_NOTIFY:'H2B_ACCEPT_CALL_NOTIFY', \
	#H2B_REJECT_CALL_NOTIFY	:'H2B_REJECT_CALL_NOTIFY	', \
	H2B_DROP_CALL_NOTIFY:'H2B_DROP_CALL_NOTIFY', \
	H2B_DTMF_NOTIFY:'H2B_DTMF_NOTIFY', \
	H2B_REG_ACK:'H2B_REG_ACK', \
	H2B_VP_ACK:'H2B_VP_ACK', \
	H2B_VP_TRANS_REQUEST:'H2B_VP_TRANS_REQUEST', \
	H2B_VP_PAGING_RESULT:'H2B_VP_PAGING_RESULT', \
	H2B_VP_SUBS_RESULT:'H2B_VP_SUBS_RESULT', \
	H2B_UPGRADE_REQUEST:'H2B_UPGRADE_REQUEST', \
	H2B_SMS_SEND_NOTIFY:'H2B_SMS_SEND_NOTIFY', \
	H2B_TONE_START_REQUEST:'H2B_TONE_START_REQUEST', \
	H2B_TONE_STOP_REQUEST:'H2B_TONE_STOP_REQUEST', \
	H2B_RELEASED_NOTIFY:'H2B_RELEASED_NOTIFY', \
	H2B_INFO_NOTIFY:'H2B_INFO_NOTIFY', \
	H2B_CONFIG_INFO_REQUEST:'H2B_CONFIG_INFO_REQUEST', \
	H2B_CONFIG_SET:'H2B_CONFIG_SET', \
	H2B_SMS_RECV_RESULT:'H2B_SMS_RECV_RESULT', \
	H2B_SMS_ACK:'H2B_SMS_ACK', \
	H2B_SYNCML_ACK:'H2B_SYNCML_ACK', \
	H2B_SYNCML_START_NOTIFY:'H2B_SYNCML_START_NOTIFY', \
	H2B_SYNCML_DATA_NOTIFY:'H2B_SYNCML_DATA_NOTIFY', \
	H2B_SYNCML_END_NOTIFY:'H2B_SYNCML_END_NOTIFY', \
	H2B_SYNCML_DATA_ACK:'H2B_SYNCML_DATA_ACK', \
	H2B_SYNCML_CANCEL_NOTIFY:'H2B_SYNCML_CANCEL_NOTIFY', \
	H2B_SYNCML_QUERY:'H2B_SYNCML_QUERY', \
	H2B_SYNCML_FILE_INFO:'H2B_SYNCML_FILE_INFO', \
	H2B_SNMP_INFO_NOTIFY:'H2B_SNMP_INFO_NOTIFY', \
	H2B_SNMP_INFO:'H2B_SNMP_INFO', \
	H2B_REGISTER_REQUEST:'H2B_REGISTER_REQUEST', \
	H2B_DIAL_DTMF_NOTIFY:'H2B_DIAL_DTMF_NOTIFY', \
	H2B_DEREGISTER_REQUEST:'H2B_DEREGISTER_REQUEST', \
	H2B_REJECT_CALL_NOTIFY:'H2B_REJECT_CALL_NOTIFY', \
	H2B_VP_RFPI_RESULT:'H2B_VP_RFPI_RESULT' }

# (MMI --> DECT)
B2H_ACK								= 0x01
B2H_CONFIG_ACK 						= 0x02
B2H_STATUS_REPORT						= 0x03
B2H_VP_ACK								= 0x04
B2H_CONNECTED_CALL_NOTIFY			= 0x05
B2H_VP_PAGING_REQUEST					= 0x06
B2H_NEW_CALL_NOTIFY					= 0x07
B2H_CANCEL_CALL_NOTIFY				= 0x08
B2H_DROP_CALL_NOTIFY					= 0x09
B2H_VP_SUBS_REQUEST					= 0x0A
B2H_VP_TRANS_RESULT					= 0x0B
B2H_SMS_RECV_NOTIFY					= 0x0C
B2H_SMS_SEND_RESULT					= 0x0D
B2H_RELEASED_NOTIFY					= 0x0E
B2H_CONFIG_INFO						= 0x0F
B2H_SMS_ACK							= 0x10
B2H_VP_RFPI_REQUEST					= 0x11
B2H_VP_PASSWORD_CHANGE				= 0x12
B2H_SYNCML_DATA_NOTIFY				= 0x13
B2H_SYNCML_END_NOTIFY				= 0x14
B2H_SYNCML_RESULT						= 0x15
B2H_SYNCML_CANCEL_NOTIFY				= 0x16
B2H_TIME_TEL_INFO						= 0x17
B2H_UPGRADE_REPORT					= 0x18
B2H_UPGRADE_ACK						= 0x19
B2H_SNMP_ACK							= 0x1A
B2H_SNMP_INFO_REQUEST				= 0x1B
B2H_REGISTER_ACK						= 0x1C
B2H_VP_RESET_REQUEST					= 0x1D
B2H_DEREGISTER_ACK 					= 0x1E

DICT_B2H_ACK_FUNCTION = { \
	B2H_STATUS_REPORT:'B2H_STATUS_REPORT_ACK', \
	B2H_CONNECTED_CALL_NOTIFY:'B2H_CONNECTED_CALL_NOTIFY_ACK', \
	B2H_NEW_CALL_NOTIFY:'B2H_NEW_CALL_NOTIFY_ACK', \
	B2H_CANCEL_CALL_NOTIFY:'B2H_CANCEL_CALL_NOTIFY_ACK', \
	B2H_DROP_CALL_NOTIFY:'B2H_DROP_CALL_NOTIFY_ACK', \
	B2H_VP_SUBS_REQUEST:'B2H_VP_SUBS_REQUEST_ACK', \
	B2H_VP_TRANS_RESULT:'B2H_VP_TRANS_RESULT_ACK', \
	B2H_SMS_RECV_NOTIFY:'B2H_SMS_RECV_NOTIFY_ACK', \
	B2H_SMS_SEND_RESULT:'B2H_SMS_SEND_RESULT_ACK', \
	B2H_RELEASED_NOTIFY:'B2H_RELEASED_NOTIFY_ACK' }

DICT_B2H_VP_ACK_FUNCTION = { \
	B2H_VP_PAGING_REQUEST:'B2H_VP_PAGING_REQUEST_ACK', \
	B2H_VP_SUBS_REQUEST:'B2H_VP_SUBS_REQUEST_ACK', \
	B2H_VP_TRANS_RESULT:'B2H_VP_TRANS_RESULT_ACK', \
	B2H_VP_RESET_REQUEST:'B2H_VP_RESET_REQUEST_ACK', \
	B2H_VP_RFPI_REQUEST: 'B2H_VP_RFPI_REQUEST_ACK', \
	B2H_VP_PASSWORD_CHANGE:'B2H_VP_PASSWORD_CHANGE_ACK'}

DICT_B2H_CONFIG_ACK_FUNCTION = { \
	B2H_STATUS_REPORT:'B2H_STATUS_REPORT_ACK', \
	B2H_TIME_TEL_INFO:'B2H_TIME_TEL_INFO_ACK' }

DICT_B2H_SMS_ACK_FUNCTION = { \
	B2H_SMS_RECV_NOTIFY:'B2H_SMS_RECV_NOTIFY_ACK', \
	B2H_SMS_SEND_RESULT:'B2H_SMS_SEND_RESULT_ACK' }
	
MAX_DTMF = 26
MAX_NAME = 20
MAX_SMS = 512

SUBSCRIPTION_TIMEOUT = 60000 # 60 seconds
DESUBSCRIPTION_TIMEOUT = 60000 # 60 seconds
PAGING_TIMEOUT = 30000 # 30 seconds

DECT_TONE_DURATION = 80
DECT_TONE_INTER_DIGIT_TIME = 80

# SMS Parameter type

PARAM_TYPE  			= 0x81
PARAM_SERVER_ADDR	= 0x82
PARAM_SERVER_PORT	= 0x83
PARAM_FNAME			= 0x84
PARAM_FPWD			= 0x85
PARAM_FROM			= 0x86
PARAM_TO				= 0x87
PARAM_REPLY_TO		= 0x88
PARAM_SDATE			= 0x89
PARAM_MESSAGE		= 0x8A
PARAM_CALLBACK_URL	= 0x8B
PARAM_TRANSFER_NUM	= 0x8C

# PARAM_TYPE
ST_NORMAL 				= 0x01
ST_DELIVERY_REPORT	= 0x02
ST_TRANSFER_ON		= 0x03
ST_TRANSFER_OFF		= 0x04
ST_COUNT				= 0x05
ST_ADDITIONAL			= 0x06
ST_CONFERENCE			= 0x07
ST_VOICE				= 0x08


class MessageCode:
	class Normal:
		NORMAL_RELEASE 				= 200

	class RequestFailure:
		BAD_REQUEST				= 400
		UNAUTHORIZED				= 401
		BUSY_HERE					= 486
	class ServerFailure:
		SERVER_INTERNAL_ERROR		= 500

	class GlobalFailure:
		BUSY_EVERYWHERE			= 600

	class SMS:
		ACCEPT						= 202
		BAD_REQUEST				= 400
		INVALID_MEDIA_TYPE			= 415
		UNKNOWN					= 451
		SMS_UNSUBSCRIBED			= 452
		SERVER_ERROR				= 500

	class LGN_Define:
		NETWORK_OK					= 0
		NETWORK_ERROR				= 700
		LAN_CABLE_NOT_CONNECTED	= 701
		NAS_CONNECTION_FAIL		= 702
		PPPOE_ID_AUTH_FAIL			= 703
		ETC_NETWORK_ERROR			= 704
		DHCP_IP_ALLOC_FAIL			= 705
		PPPOE_IP_ALLOC_AND_TEST	= 706
		IP_TEST_FAIL					= 707
		WATING_FOR_READY_STATUS	= 709	#D101	
		WIRELESS_ICMP_FAIL			= 710		

		WIRELESS_ASSOC_FAIL		= 711
		WIRELESS_SEC_FAIL			= 712
		WIRELESS_DISCONNECTED		= 713
		WIRELESS_CONNECTING		= 714
		#DHCP_REQUESTING			= N/A

		# ÀÌÇÏ STATUS CODE ·Î Ã³¸®ÇÏ´Â ºÎºÐÀÌ ¾Æ´Ô.
		VIDEOPHONE_ANSWERED		= 780
		TRANSFER_CALL_FROM_HS_TO_VP	= 781

	class VP_STATUS:
		IDLE 					= 800
		VIDEO_CALL				= 801
		AUDIO_CALL				= 802
		BANKING					= 803
		MP3						= 804
		MMS_SENDING 			= 805
		MMS_RECEIVING			= 806
		VIDEO_RECORDING		= 807
		VIDEO_REPLAYING			= 808
		AUDIO_RECORDING		= 809
		AUDIO_REPLAYING			= 810
		ADMIN					= 811
		COMMON_NOTIFICATION 	= 812
		NEED_REGISTRATION		= 813

	class REG_MESSAGE:
		PROVISION_SUCCESS 	= 0
		START_REG			= 1
		REG_SUCCESS		= 2
		REG_FAIL			= 3
		FORBIDDEN_403		= 4
		NOT_FOUND_404_410	= 5
