專利名稱:自動糾正短消息中心號碼的方法和短消息發(fā)送終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線通信領(lǐng)域,更具體的說,涉及一種自動糾正短消息中心號碼的方 法和短消息發(fā)送終端。
背景技術(shù):
短消息已經(jīng)得到廣泛的應(yīng)用,特別是在國內(nèi),近幾年的發(fā)展尤為迅速,在很多行業(yè) 中都能見到短消息的應(yīng)用,例如銀行用短消息告知用戶、手機(jī)用戶之間的信息交互等。目前的短消息應(yīng)用開發(fā)中,短消息發(fā)送和接收是短消息應(yīng)用最重要的功能。而依 據(jù)3GPP(3rd Generation Partnership Project,第三代合作伙伴計(jì)劃)協(xié)議,發(fā)送短消息 時,需要在短消息發(fā)送指令CMGS后面跟上PDU (Protocol Data Unit,協(xié)議數(shù)據(jù)單元)。PDU 主要包括短消息中心號碼和發(fā)送的數(shù)據(jù)打包體,可見每條短消息發(fā)送時,都需要在打包體 前加上短消息中心號碼才能發(fā)送,短消息中心號碼不正確,會導(dǎo)致短消息發(fā)送不成功。在實(shí)際應(yīng)用中,當(dāng)一張卡在其他短消息發(fā)送終端被修改了短消息中心號碼或者被 人為設(shè)置了錯誤的短消息中心號碼時,將導(dǎo)致發(fā)送短消息錯誤,從而使得短消息發(fā)送終端 短消息發(fā)送功能無法實(shí)現(xiàn),因而有必要糾正對應(yīng)的短消息中心號碼,以保證用戶順利發(fā)送 短消息。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種自動糾正短消息中心號碼的方法和短消息發(fā)送 終端,旨在糾正短消息中心號碼,保證順利發(fā)送短消息。本發(fā)明提供一種自動糾正短消息中心號碼的方法,包括以下步驟在短消息發(fā)送失敗時,獲取短消息中心號碼錯誤的信息;從現(xiàn)存短消息中提取正確的短消息中心號碼;重發(fā)短消息前,用正確的短消息中心號碼覆蓋錯誤的短消息中心號碼。優(yōu)選地,所述在短消息發(fā)送失敗時,獲取短消息中心號碼錯誤的信息的步驟中包 括判斷錯誤值是否包含330<SMSC address unknown〉,如果包含,則錯誤類型為短消 息中心號碼錯誤;如果不包含,則為其他類型錯誤。優(yōu)選地,所述從現(xiàn)存短消息中提取正確的短消息中心號碼的步驟中包括獲取本機(jī)號碼的歸屬地址,結(jié)合網(wǎng)絡(luò)和運(yùn)營商查找存儲在本地的短消息中心號碼 信息表,獲取正確的短消息中心號碼。優(yōu)選地,所述從現(xiàn)存短消息中提取正確的短消息中心號碼的步驟中包括讀取現(xiàn)存的短消息,獲取對應(yīng)的短消息協(xié)議數(shù)據(jù)單元PDU ;對PDU進(jìn)行解析,獲取PDU中符合協(xié)議規(guī)范長度的正確的短消息中心號碼。優(yōu)選地,在執(zhí)行所述重發(fā)短消息前,用正確的短消息中心號碼覆蓋錯誤的短消息 中心號碼的步驟后包括
重發(fā)短消息;保存正確的短消息中心號碼,并提示用戶發(fā)送成功。本發(fā)明提供一種短消息發(fā)送終端,包括錯誤獲取單元,用于在短消息發(fā)送失敗時,獲取短消息中心號碼錯誤的信息;短消息控制單元,用于從現(xiàn)存短消息中提取正確的短消息中心號碼;短消息中心號碼糾正單元,用于在重發(fā)短消息前,用正確的短消息中心號碼覆蓋 錯誤的短消息中心號碼。優(yōu)選地,所述錯誤獲取單元包括錯誤類型判斷模塊,用于判斷錯誤值是否包含330<SMSC address unknown〉,如果 包含,則錯誤類型為短消息中心號碼錯誤;如果不包含,則為其他類型錯誤。優(yōu)選地,所述短消息控制單元包括本地短消息中心號碼信息表查詢模塊,用于獲取本機(jī)號碼的歸屬地址,結(jié)合網(wǎng)絡(luò) 和運(yùn)營商查找存儲在本地的短消息中心號碼信息表,獲取正確的短消息中心號碼。優(yōu)選地,所述短消息控制單元包括短消息讀取模塊,用于讀取現(xiàn)存的短消息,獲取對應(yīng)的短消息協(xié)議數(shù)據(jù)單元PDU ;PDU解析模塊,用于對PDU進(jìn)行解析,獲取PDU中符合協(xié)議規(guī)范長度的正確的短消 息中心號碼。優(yōu)選地,上述短消息發(fā)送終端還包括短消息重發(fā)單元,用于重發(fā)短消息;存儲單元,用于保存正確的短消息中心號碼,并提示用戶發(fā)送成功。本發(fā)明所提供的自動糾正短消息中心號碼的方法或短消息發(fā)送終端,通過從現(xiàn)存 短消息中提取正確的短消息中心號碼,并覆蓋PDU中對應(yīng)位置錯誤的短消息中心號碼,可 自動糾正短消息中心號碼,保證順利發(fā)送短消息。
圖1為本發(fā)明的一個實(shí)施方式中自動糾正短消息中心號碼的方法的流程圖;圖2為本發(fā)明的一個實(shí)施例中短消息協(xié)議數(shù)據(jù)單元PDU的結(jié)構(gòu)示意圖;圖3為本發(fā)明的一個實(shí)施例中從現(xiàn)存短消息中提取正確的短消息中心號碼步驟 流程圖;圖4為本發(fā)明的一個實(shí)施方式中短消息發(fā)送終端的結(jié)構(gòu)示意圖;圖5為本發(fā)明的一個實(shí)施例中短消息發(fā)送終端的結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施例方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明中,短消息發(fā)送終端可以是短信群發(fā)器、手機(jī)等通信終端。以下將以手機(jī)為 例,詳細(xì)說明本發(fā)明。圖1示出了本發(fā)明的一個實(shí)施方式中自動糾正短消息中心號碼的方法流程,該流 程包括以下步驟
4
步驟S10,在短消息發(fā)送失敗時,獲取短消息中心號碼錯誤的信息;在一實(shí)施例 中,基于3GPP協(xié)議,可先通過短消息發(fā)送命令A(yù)T+CMGS發(fā)送一條短消息,若發(fā)送失敗,將會 反饋對應(yīng)的發(fā)送錯誤信息。如果因短消息中心號碼錯誤導(dǎo)致發(fā)送失敗,將會反饋短消息中 心號碼錯誤的信息,例如錯誤信息里包含330<SMSC address unknown)時,說明短消息中心 號碼錯誤。步驟S20,從現(xiàn)存短消息中提取正確的短消息中心號碼;手機(jī)中,保存有已發(fā)消 息、已讀消息及未讀消息,可通過讀短消息命令A(yù)T+CMGR讀取手機(jī)USIM卡中的已發(fā)、未讀或 已讀的短消息,獲取對應(yīng)的PDU包體并解碼PDU包體,從中獲取正確的短消息中心號碼。3GPP協(xié)議中約定了 <stat>有收到的未讀短信、收到的已讀短信、存儲的未發(fā)送短 信、存儲的已發(fā)送短信四種狀態(tài)。由于協(xié)議規(guī)定,當(dāng)讀取一條未讀的短消息時,如果讀取成 功,則將對應(yīng)的未讀改為已讀。在一實(shí)施例中,為了防止這種情況出現(xiàn),可擴(kuò)展3GPP協(xié)議中 規(guī)定的讀短消息命令A(yù)T+CMGR,在讀短消息的AT命令中增加讀取未讀短消息不改變其狀態(tài) 的AT命令A(yù)T+ZMGR,從而避免未讀短消息狀態(tài)轉(zhuǎn)換。步驟S30,重發(fā)短消息前,用正確的短消息中心號碼覆蓋錯誤的短消息中心號碼。 PDU中的短消息中心號碼覆蓋后,可重發(fā)短消息。PDU的格式可參考圖2,其前面一段為短消息中心號碼,后面一段為欲發(fā)送的消息 數(shù)據(jù)??蓪⒄_的短消息中心號碼添加到PDU中對應(yīng)位置,從而覆蓋原短消息中心號碼,從 而糾正錯誤,重發(fā)短消息時可順利發(fā)送。本實(shí)施方式中,通過獲取正確的短消息中心號碼來覆蓋PDU中對應(yīng)位置錯誤的短 消息中心號碼,可保證短消息的順利發(fā)送,并且,上述過程都是自動進(jìn)行,實(shí)際使用過程中, 手機(jī)用戶不會感覺到上述過程的執(zhí)行,因而不會給用戶帶來不便。在一實(shí)施例中,上述步驟S10對短消息中心號碼錯誤信息的獲取過程可包括判 斷錯誤值是否包含330<SMSC address unknown);如果包含,則錯誤類型為短消息中心號碼 錯誤;如果不包含,則為其他類型錯誤。如圖3所示,上述步驟S20中可包括步驟S21,讀取現(xiàn)存的短消息,獲取對應(yīng)的短消息協(xié)議數(shù)據(jù)單元PDU ;上述實(shí)施例 中,當(dāng)發(fā)送命令A(yù)T+ZMGR讀取已發(fā)、未讀或已讀短消息時,獲取的是對應(yīng)的已發(fā)、未讀或已 讀短消息協(xié)議數(shù)據(jù)單元PDU。步驟S22,對PDU進(jìn)行解析,獲取PDU中符合協(xié)議規(guī)范長度的正確的短消息中心號 碼。3GPP協(xié)議中,短消息中心號碼的長度需符合規(guī)范長度,若不符合,也將導(dǎo)致短消息發(fā)送 失敗。手機(jī)中,當(dāng)USIM (Universal Subscriber Identity Module,全球用戶識別模塊) 卡中未存儲短消息時,就需要更新讀取存儲器的類型(例如短信存儲器ME或者狀態(tài)報(bào)告存 儲器SR等),以最大限度恢復(fù)短消息中心號碼。在一實(shí)施例中,可在初始化的時候獲取卡中 各個存儲器的容量信息,包括總?cè)萘亢臀词褂萌萘?。若所有的存儲器空間都為空,否則放棄 短消息中心號碼恢復(fù)功能,避免發(fā)出無效的請求給卡,降低程序運(yùn)行效率。上述步驟S10中還可包括獲取本機(jī)號碼的歸屬地址,結(jié)合網(wǎng)絡(luò)和運(yùn)營商查找存儲 在本地的短消息中心號碼信息表,獲取正確的短消息中心號碼的步驟。針對USIM卡中各個 存儲器空間都為空的情況,在一實(shí)施例中,可以發(fā)送電話本讀取命令A(yù)T+CPBR讀取本機(jī)號碼,根據(jù)本機(jī)號碼獲取USIM卡中該本機(jī)號碼的歸屬地址,然后通過網(wǎng)絡(luò)的制式和運(yùn)營商信 息查詢存儲在本地的短消息中心號碼信息表,從而更大限度的達(dá)到恢復(fù)短消息中心號碼的 目的。其具體過程可包括如果USIM卡的各個存儲空間都為空,則讀取本機(jī)號碼,獲取本機(jī) 號碼的歸屬地址;根據(jù)歸屬地址、網(wǎng)絡(luò)制式和運(yùn)營商信息查詢存儲本地的短消息中心號碼 信息表提取正確的短消息中心號碼,并更改USIM卡上的短消息中心號碼。在一實(shí)施例中,在執(zhí)行步驟S30后還包括重發(fā)短消息;保存正確的短消息中心號 碼,并提示用戶發(fā)送成功的步驟。本發(fā)明提供一種短消息發(fā)送終端,其可用于實(shí)現(xiàn)上述自動糾正短消息中心號碼的 方法。如圖4所示,該短消息發(fā)送終端中包括短消息發(fā)送單元10,用于發(fā)送短消息,其還包 括錯誤獲取單元20,用于在短消息發(fā)送失敗時,獲取短消息中心號碼錯誤的信息;短消息控制單元30,用于從現(xiàn)存短消息中提取正確的短消息中心號碼;短消息中心號碼糾正單元40,用于在重發(fā)短消息前,用正確的短消息中心號碼覆 蓋錯誤的短消息中心號碼。在一實(shí)施例中,基于3GPP協(xié)議,短消息發(fā)送單元10可發(fā)送短消息發(fā)送命令 AT+CMGS,從而發(fā)送短消息。若發(fā)送失敗,短消息發(fā)送終端將會反饋對應(yīng)的發(fā)送錯誤信息。如 果因短消息中心號碼錯誤導(dǎo)致發(fā)送失敗,將會反饋短消息中心號碼錯誤的信息,例如錯誤 信息里包含330<SMSC address unknown〉時,說明短消息中心號碼錯誤。短消息控制單元30可通過讀短消息命令A(yù)T+ZMGR讀取手機(jī)USIM卡中的已發(fā)、未 讀或已讀的短消息,獲取對應(yīng)的PDU包體并解碼PDU包體,從中獲取正確的短消息中心號 碼。短消息中心號碼糾正單元40可將正確的短消息中心號碼添加到PDU中對應(yīng)位置, 從而覆蓋原短消息中心號碼,從而糾正錯誤,重發(fā)短消息時可順利發(fā)送。本實(shí)施方式短消息發(fā)送終端可獲取正確的短消息中心號碼來覆蓋PDU中對應(yīng)位 置錯誤的短消息中心號碼,可保證短消息的順利發(fā)送。如圖5所示,在一實(shí)施例中,上述錯誤獲取單元20可包括錯誤類型判斷模塊21,用 于判斷錯誤值是否包含330<SMSC address unknown〉,如果包含,則錯誤類型為短消息中心 號碼錯誤;如果不包含,則為其他類型錯誤。短消息控制單元30可包括本地短消息中心號碼信息表查詢模塊31、短消息讀取 模塊32以及PDU解析模塊33,其中,本地短消息中心號碼信息表查詢模塊31可用于獲取本機(jī)號碼的歸屬地址,結(jié)合 網(wǎng)絡(luò)和運(yùn)營商查找存儲在本地的短消息中心號碼信息表,獲取正確的短消息中心號碼;短消息讀取模塊32可用于讀取現(xiàn)存的短消息,獲取對應(yīng)的短消息協(xié)議數(shù)據(jù)單元 PDU ;PDU解析模塊33可用于對PDU進(jìn)行解析,獲取PDU中符合協(xié)議規(guī)范長度的正確的 短消息中心號碼。本地短消息中心號碼信息表查詢模塊31可針對USIM卡中各個存儲器空間都為空 的情況,發(fā)送電話本讀取命令A(yù)T+CPBR讀取本機(jī)號碼,根據(jù)本機(jī)號碼獲取USIM卡中該本機(jī) 號碼的歸屬地址,然后通過網(wǎng)絡(luò)的制式和運(yùn)營商信息查詢存儲在本地的短消息中心號碼信
6息表,從而更大限度的達(dá)到恢復(fù)短消息中心號碼的目的。手機(jī)中,保存有已發(fā)消息、已讀消息及未讀消息,可通過短消息讀取模塊32發(fā)送 讀短消息命令A(yù)T+CMGR讀取手機(jī)USIM卡中的已發(fā)、未讀或已讀的短消息,獲取對應(yīng)的PDU 包體并解碼PDU包體,從中獲取正確的短消息中心號碼。PDU解析模塊33可根據(jù)讀取模塊32發(fā)送讀短消息命令所獲取的短消息PDU數(shù)據(jù) 包體,并解析PDU數(shù)據(jù)包體從中獲取正確的短消息中心號碼。在一實(shí)施例中,上述短消息發(fā)送終端還可包括短消息重發(fā)單元50,用于重發(fā)短消息;在一具體示例中,短消息重發(fā)單元50可以 通過觸發(fā)短消息發(fā)送單元10實(shí)現(xiàn)短消息重發(fā)功能。例如,當(dāng)短消息控制單元30獲取正確 的短消息中心號碼,并將正確的短消息中心號碼覆蓋錯誤的短消息中心號碼后,即觸發(fā)短 消息發(fā)送單元10重發(fā)前次發(fā)送失敗的短消息。存儲單元60,用于保存正確的短消息中心號碼,并提示用戶發(fā)送成功。存儲單元 60可在重發(fā)短消息成功后,存儲正確的短消息中心號碼,以便下次調(diào)用,從而節(jié)約短消息發(fā) 送程序。以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā) 明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技 術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
一種自動糾正短消息中心號碼的方法,其特征在于,包括以下步驟在短消息發(fā)送失敗時,獲取短消息中心號碼錯誤的信息;從現(xiàn)存短消息中提取正確的短消息中心號碼;重發(fā)短消息前,用正確的短消息中心號碼覆蓋錯誤的短消息中心號碼。
2.如權(quán)利要求1所述的自動糾正短消息中心號碼的方法,其特征在于,所述在短消息 發(fā)送失敗時,獲取短消息中心號碼錯誤的信息的步驟中包括判斷錯誤值是否包含330<SMSC address unknown〉,如果包含,則錯誤類型為短消息中 心號碼錯誤;如果不包含,則為其他類型錯誤。
3.如權(quán)利要求1或2所述的自動糾正短消息中心號碼的方法,其特征在于,所述從現(xiàn)存 短消息中提取正確的短消息中心號碼的步驟中包括獲取本機(jī)號碼的歸屬地址,結(jié)合網(wǎng)絡(luò)和運(yùn)營商查找存儲在本地的短消息中心號碼信息 表,獲取正確的短消息中心號碼。
4.如權(quán)利要求1或2所述的自動糾正短消息中心號碼的方法,其特征在于,所述從現(xiàn)存 短消息中提取正確的短消息中心號碼的步驟中包括讀取現(xiàn)存的短消息,獲取對應(yīng)的短消息協(xié)議數(shù)據(jù)單元PDU ; 對PDU進(jìn)行解析,獲取PDU中符合協(xié)議規(guī)范長度的正確的短消息中心號碼。
5.如權(quán)利要求4所述的自動糾正短消息中心號碼的方法,其特征在于,在執(zhí)行所述重 發(fā)短消息前,用正確的短消息中心號碼覆蓋錯誤的短消息中心號碼的步驟后包括重發(fā)短消息;保存正確的短消息中心號碼,并提示用戶發(fā)送成功。
6.一種短消息發(fā)送終端,其特征在于,包括錯誤獲取單元,用于在短消息發(fā)送失敗時,獲取短消息中心號碼錯誤的信息; 短消息控制單元,用于從現(xiàn)存短消息中提取正確的短消息中心號碼; 短消息中心號碼糾正單元,用于在重發(fā)短消息前,用正確的短消息中心號碼覆蓋錯誤 的短消息中心號碼。
7.如權(quán)利要求6所述的短消息發(fā)送終端,其特征在于,所述錯誤獲取單元包括 錯誤類型判斷模塊,用于判斷錯誤值是否包含330<SMSC address unknown〉,如果包含,則錯誤類型為短消息中心號碼錯誤;如果不包含,則為其他類型錯誤。
8.如權(quán)利要求6或7所述的短消息發(fā)送終端,其特征在于,所述短消息控制單元包括 本地短消息中心號碼信息表查詢模塊,用于獲取本機(jī)號碼的歸屬地址,結(jié)合網(wǎng)絡(luò)和運(yùn)營商查找存儲在本地的短消息中心號碼信息表,獲取正確的短消息中心號碼。
9.如權(quán)利要求6或7所述的短消息發(fā)送終端,其特征在于,所述短消息控制單元包括 短消息讀取模塊,用于讀取現(xiàn)存的短消息,獲取對應(yīng)的短消息協(xié)議數(shù)據(jù)單元PDU ;PDU解析模塊,用于對PDU進(jìn)行解析,獲取PDU中符合協(xié)議規(guī)范長度的正確的短消息中 心號碼。
10.如權(quán)利要求9所述的短消息發(fā)送終端,其特征在于,還包括短消息重發(fā)單元,用于重發(fā)短消息;存儲單元,用于保存正確的短消息中心號碼,并提示用戶發(fā)送成功。
全文摘要
本發(fā)明涉及無線通信領(lǐng)域,提供了一種自動糾正短消息中心號碼的方法,包括以下步驟在短消息發(fā)送失敗時,獲取短消息中心號碼錯誤的信息;從現(xiàn)存短消息中提取正確的短消息中心號碼;重發(fā)短消息前,用正確的短消息中心號碼覆蓋錯誤的短消息中心號碼。本發(fā)明還提供了一種短消息發(fā)送終端。本發(fā)明所提供的自動糾正短消息中心號碼的方法或短消息發(fā)送終端,可自動糾正短消息中心號碼,保證順利發(fā)送短消息。
文檔編號H04W88/18GK101902707SQ201010211468
公開日2010年12月1日 申請日期2010年6月25日 優(yōu)先權(quán)日2010年6月25日
發(fā)明者錢猛, 黃鐳 申請人:中興通訊股份有限公司