ADN(SIM 电话簿)                             缩位拨号。数字 + #,然后按SNED键。
FDN(SIM 固定拨号) 固定拨号。当启用后,只能拨打所设置的号码,来电不受影响。需要输入PIN2码
MSISDN(SIM 保护号码)
EN(SIM 紧急号码)
LND(合成 ME 和 SIM 最后拨号)
MSD(SIM 未接听号码)
ME(ME 电话簿)
MT(合成 ME 和 SIM 电话簿)
LIC(ME 接听号码)
SDN (系统拨叫号码) 网络服务拨号。固化的用户不能编辑。
SIM卡中最多能存放的电话号码数量等于:AND+FDN+SDN
固定拨号

这个功能是为了在手机借给第三方的时候防止非授权使用的。即A用户把手机借给B用户,只限定B用户拨打A用户指定的号码,非指定的号码不能拨出,这个功能同时也适用于在集体条件下(比如放在集体宿舍充电)防止别人使用,而且不耽误来话,但是经过使用发现,SIM中的存储固定号码的空间太小了,普通的32K SIM卡只能存一个电话号码,动感地带32K SIM卡只能存两个号码,64K 大容量SIM卡也只能存两个。当启动固定拨号的时候,SIM卡电话簿被禁止访问,同时在电话簿里出现“FDN电话簿”,FDN里显示你设定的固定拨号的号码。这时,你无法拨出FDN以外的电话号码。
在启用(取消)这个功能和添加(更改、删除)FDN号码的时候需要用到PIN2

固定拨号功能让您设置话机的使用限制,当您开启固定拨号功能后,您只可以拨打存储的固定拨号列表中的号码。固定号码表存放在SIM卡中。能否使用固定拨号功能取决于SIM卡类型以及网络商是否提供此功能
1.加载资源
InitializeAll( )
PopulateResData( )
PopulateMainMenuRes( )
ADD_APPLICATION_MENUITEM((MAIN_MENU_PHONEBOOK_MENUID,IDLE_SCREEN_MENU_ID,MMI_PHB_MAIN_ENUM_TOTAL,
#if defined(__MMI_PHB_QUICK_SEARCH__)
MENU_ID_PHB_QUICK_SEARCH, 快速查找
#endif
MITEM101_PBOOK_SEARCH_ENTRY, 姓名查找
MITEM111_PBOOK_VIEW_ENTRY, 分类查找
MITEM102_PBOOK_NEW_ENTRY, 添加号码
MITEM104_PBOOK_COPY_ALL, 全部复制
MITEM103_PBOOK_DELETE_ALL, 删除
MITEM109_PBOOK_CALLER_GROUPS, 来电群组
MITEM111_PBOOK_IMPORTOUTPORT_ENTRY, 导入导出
MITEM105_PBOOK_OWNER_NUMBER, 本机号码
MITEM110_PBOOK_SETTINGS,… 设置
PopulatePbResData( )
加载电话簿下每个子菜单的资源
PopulateAdvancedPbResData();
PopulateInlineEditRes();
PopulateCopyAllResData();
PopulateExtraNumberRes();
PopulatePbookSettingsData();
PopulatePhbExtraMainMenuRes();


2.初始化
InitializeAll( )
mmi_phb_init_protocol( )
SetProtocolEventHandler(mmi_phb_ind_startup_finish, PRT_PHB_STARTUP_FINISH_IND);
初始化结构g_phb_cntx。

InitAllApplications( )
mmi_phb_init( );
mmi_phb_search_init();
mmi_phb_operate_single_init();
mmi_phb_operate_mass_init();
mmi_phb_caller_group_init();
mmi_phb_extra_number_init();
mmi_phb_setting_init();
PhbInitSpeedDial();
mmi_phb_stubs_to_others_init();

3.学习[电话簿]下的每个菜单的结构
(1)[快速查找]
mmi_phb_highlight_quick_search_list()
SetLeftSoftkeyFunction(mmi_phb_quick_search_list_pre_entry, KEY_EVENT_UP);
SetKeyHandler(mmi_phb_quick_search_list_pre_entry, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);

按下左软件,进入:
mmi_phb_quick_search_list_pre_entry()
mmi_phb_entry_quick_search_list()


(2)[姓名查找]
mmi_phb_highlight_search_name( )
SetLeftSoftkeyFunction(mmi_phb_search_name_pre_entry, KEY_EVENT_UP);
SetKeyHandler(mmi_phb_search_name_pre_entry, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
phbListView = MMI_PHB_LIST_FOR_PHB; //这个变量很有用,控制当前查看电话号码列表是为哪个app服务

按下左软件,进入:
mmi_phb_search_name_pre_entry()
 memset(pbName, 0, ENCODING_LENGTH);
if (PhoneBookEntryCount) //当前电话簿的入口数目
mmi_phb_entry_search_name();
ShowCategory5Screen_ext()
SetLeftSoftkeyFunction(mmi_phb_entry_search_name_option, KEY_EVENT_UP);
SetCategory5RightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
SetKeyHandler(mmi_phb_search_name, KEY_SEND, KEY_EVENT_UP);


(3)[分类查看]
mmi_phb_highlight_view_entrylist()
mmi_phb_view_entrylist()
MITEM111_PBOOK_VIEW_SIM_ENTRY SIM卡
MITEM111_PBOOK_VIEW_PHONE_ENTRY 本机

(1)查看SIM卡
mmi_phb_view_sim()
g_edit_listview = MMI_PHB_LIST_FOR_SIM;
if(g_phb_cntx.phb_ready && !g_phb_cntx.processing)
if(g_phb_cntx.sim_used)
mmi_phb_entry_list2(g_phb_cntx.sim_used, /*Total Entry*/
STR_PHB_VIEW, /*Title String*/
IMG_SCR_PBOOK_CAPTION, /*Title Image*/
STR_GLOBAL_OPTIONS, /*LSK*/
IMG_GLOBAL_OPTIONS, /*LSK*/
#if defined( __MMI_INTELLIGENT_CALL_ALERT__ )
mmi_phb_get_index_speak_name_sim,
#else
mmi_phb_get_index_sim,//mmi_phb_get_index, /*Highlight Callback*/
#endif
mmi_phb_entry_op_option_sim, /*LSK Callback*/
mmi_phb_choose_number_normal, /*SEND Key Callback*/
mmi_phb_list_get_item_sim,//mmi_phb_list_get_item, /*List Callback*/
mmi_phb_list_get_hint_sim,//mmi_phb_list_get_hint, /*Hint Callback*/
mmi_phb_view_sim, /*Re-Entry Callback*/
TRUE, /*Alpha Index*/
TRUE); /*Right Arrow Key*/
(2)查看本机
mmi_phb_view_phone()
g_edit_listview = MMI_PHB_LIST_FOR_PHONE;
if(g_phb_cntx.phb_ready && !g_phb_cntx.processing)
if(g_phb_cntx.phone_used)
mmi_phb_entry_list2(g_phb_cntx.phone_used, /*Total Entry*/
STR_PHB_VIEW, /*Title String*/
IMG_SCR_PBOOK_CAPTION, /*Title Image*/
STR_GLOBAL_OPTIONS, /*LSK*/
IMG_GLOBAL_OPTIONS, /*LSK*/
#if defined( __MMI_INTELLIGENT_CALL_ALERT__ )
mmi_phb_get_index_speak_name_phone,
#else
mmi_phb_get_index_phone,//mmi_phb_get_index, /*Highlight Callback*/
#endif
mmi_phb_entry_op_option_phone, /*LSK Callback*/
mmi_phb_choose_number_normal, /*SEND Key Callback*/
mmi_phb_list_get_item_phone,//mmi_phb_list_get_item, /*List Callback*/
mmi_phb_list_get_hint_phone,//mmi_phb_list_get_hint, /*Hint Callback*/
mmi_phb_view_phone, /*Re-Entry Callback*/
TRUE, /*Alpha Index*/
TRUE); /*Right Arrow Key*/

(4)[添加号码]
(5)[全部复制]
(6)[删除]
(7)[来电群组]
mmi_phb_highlight_callergroup(void)
phbListView = MMI_PHB_LIST_FOR_PHB;
SetLeftSoftkeyFunction(mmi_phb_entry_callergroup, KEY_EVENT_UP);
mmi_phb_entry_callergroup_ext()

(8)[导入导出]
(9)[本机号码]
(10)[设置]