專利名稱:一種獲得來電主叫號(hào)碼的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種獲得來電主叫號(hào)碼的方法及裝置背景技術(shù)
在碼分多址接入(Code Division Multiple Access, CDMA)網(wǎng)絡(luò)中,被叫終端的接聽線路進(jìn)程將來電號(hào)碼顯示的業(yè)務(wù)啟用后,來電消息中其實(shí)并沒有帶主叫號(hào)碼,主叫號(hào)碼是后續(xù)的一個(gè)補(bǔ)充消息中帶的信息,與來電消息不是同時(shí)間到達(dá)的。而被叫終端的接聽線路進(jìn)程在接到來電消息時(shí),是會(huì)立即上報(bào)呼叫狀態(tài)變化消息的。所以,當(dāng)被叫終端的接聽線路進(jìn)程的一個(gè)應(yīng)用程序,監(jiān)聽其呼叫狀態(tài)的時(shí)候,在接到被叫終端的接聽線路進(jìn)程上報(bào)的呼叫狀態(tài)變化消息時(shí),是無法第一時(shí)間獲知主叫號(hào)碼的。例如,以安卓Android平臺(tái)為例,當(dāng)一個(gè)應(yīng)用程序,使用系統(tǒng)中的TelephonyManager程序?qū)isten接口監(jiān)聽終端的呼叫狀態(tài)的時(shí)候,回調(diào)函數(shù)onCalIStateChange (int state, String incomingNumber)中的狀態(tài) state 含有響鈴信息CALL_STATE_RINGING,但是主叫號(hào)碼 incomingNumber 卻可能為空。對于Android系統(tǒng)的應(yīng)用程序來說,上述的listen接口是唯一可能知道來電號(hào)碼的接口。如果這里不能提供來電號(hào)碼的話,某些應(yīng)用就不能再正常實(shí)現(xiàn)自己的功能,比如某些來電號(hào)碼歸屬地提醒軟件,沒有主叫號(hào)碼也就不知道該號(hào)碼的歸屬地了,再比如某些來電防火墻軟件,沒有主叫號(hào)碼就不能正常實(shí)現(xiàn)來電防火墻的功能。綜上所述,現(xiàn)有移動(dòng)終端不能正確獲取CDMA網(wǎng)絡(luò)中來電消息的主叫號(hào)碼,使得移動(dòng)終端的一些應(yīng)用程序不能正常工作。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種獲得來電主叫號(hào)碼的方法及裝置,用以正確的獲取主叫號(hào)碼,使被叫終端的某些需要得到主叫號(hào)碼才能工作的應(yīng)用程序可以正常工作。本發(fā)明實(shí)施例提供的一種獲得來電主叫號(hào)碼的方法,該方法包括接收來自主叫終端的來電消息,且當(dāng)所述來電消息中不包含主叫終端的號(hào)碼信息時(shí),將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)進(jìn)入等待狀態(tài),等待接收包括主叫終端的號(hào)碼信息的補(bǔ)充消息;接收到補(bǔ)充消息后,向所有監(jiān)聽呼叫狀態(tài)的系統(tǒng)應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息,將所述被叫終端的接聽線路進(jìn)程由等待狀態(tài)進(jìn)入完成狀態(tài),所述呼叫狀態(tài)變化消息包括主叫終端的號(hào)碼信息。本發(fā)明實(shí)施例提供的一種獲得來電主叫號(hào)碼的裝置,該裝置包括檢查模塊,用于接收來自主叫終端的來電消息,且當(dāng)所述來電消息中不包含主叫終端的號(hào)碼信息時(shí),將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)進(jìn)入等待狀態(tài),等待接收包括主叫終端的號(hào)碼信息的補(bǔ)充消息;上報(bào)模塊,用于接收補(bǔ)充消息后,向所有監(jiān)聽呼叫狀態(tài)的系統(tǒng)應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息,將所述被叫終端的接聽線路進(jìn)程由等待狀態(tài)進(jìn)入完成狀態(tài),所述呼叫狀態(tài)變化消息包括主叫終端的號(hào)碼信息。本發(fā)明實(shí)施例,通過設(shè)置的一套狀態(tài)自動(dòng)循環(huán)機(jī)制,在接收到來電消息時(shí),先不進(jìn)行呼叫狀態(tài)消息的上報(bào),直到確認(rèn)或獲得了主叫號(hào)碼的情況下再進(jìn)行上報(bào),這樣保證了被叫終端一些需要獲得主叫號(hào)碼的應(yīng)用程序可以正常工作。
圖I為本發(fā)明實(shí)施例提供的獲得來電主叫號(hào)碼的方法流程示意圖;圖2為本發(fā)明實(shí)施例提供的狀態(tài)自動(dòng)循環(huán)機(jī)制的狀態(tài)關(guān)系示意圖;圖3為本發(fā)明實(shí)施例提供的獲得來電主叫號(hào)碼的裝置模塊示意圖;
圖4為本發(fā)明實(shí)施例提供的獲得來電主叫號(hào)碼的方法及裝置在Andriod系統(tǒng)下的工作流程示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供了一種獲得來電主叫號(hào)碼的方法及裝置,用以正確的獲取主叫號(hào)碼,使被叫終端的某些需要得到主叫號(hào)碼才能工作的應(yīng)用程序可以正常工作?;谏鲜瞿康模景l(fā)明實(shí)施例提供了一種獲得來電主叫號(hào)碼的方法,首先對下文實(shí)施例中涉及的狀態(tài)自動(dòng)循環(huán)機(jī)制的三種狀態(tài)進(jìn)行一個(gè)定義空閑狀態(tài)狀態(tài)自動(dòng)循環(huán)機(jī)制的初始狀態(tài)為空閑狀態(tài);在當(dāng)前呼叫狀態(tài)為空閑IDLE的時(shí)候,狀態(tài)自動(dòng)循環(huán)機(jī)制也處于IDLE狀態(tài);等待狀態(tài)表不正在等待王叫號(hào)碼消息;完成狀態(tài)表示等待主叫號(hào)碼消息已經(jīng)完成,并上報(bào)呼叫狀態(tài)變化消息。以Android系統(tǒng)為例,在進(jìn)入這個(gè)狀態(tài)的時(shí)候,需要向Android系統(tǒng)報(bào)告呼叫狀態(tài)變化消息,Android系統(tǒng)會(huì)根據(jù)前后呼叫狀態(tài)的變化調(diào)用函數(shù)onCalIStateChange O通知各個(gè)應(yīng)用。如圖I所示,在被叫終端側(cè),該方法包括S101,接收來自主叫終端的來電消息,且當(dāng)來電消息中不包含主叫終端的號(hào)碼信息時(shí),將被叫終端的接聽線路進(jìn)程由空閑狀態(tài)進(jìn)入等待狀態(tài),等待接收包括主叫終端的號(hào)碼信息的補(bǔ)充消息;S102,接收到補(bǔ)充消息后,向所有監(jiān)聽呼叫狀態(tài)的系統(tǒng)應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息,將被叫終端的接聽線路進(jìn)程由等待狀態(tài)進(jìn)入完成狀態(tài),該呼叫狀態(tài)變化消息包括主叫終端的號(hào)碼信息。本發(fā)明實(shí)施例在終端內(nèi)設(shè)置了一套狀態(tài)自動(dòng)循環(huán)機(jī)制,當(dāng)其作為被叫終端時(shí),將被叫終端的接聽線路進(jìn)程接聽來電、獲取主叫號(hào)碼的過程分為空閑狀態(tài)、等待狀態(tài)和完成狀態(tài)的三個(gè)階段。圖2是一種本發(fā)明狀態(tài)自動(dòng)循環(huán)機(jī)制的相互轉(zhuǎn)換關(guān)系,首先先介紹一下它們之間的轉(zhuǎn)換條件;空閑狀態(tài)狀態(tài)自動(dòng)循環(huán)機(jī)制的初始狀態(tài);在終端的當(dāng)前呼叫狀態(tài)為空閑IDLE的時(shí)候,狀態(tài)自動(dòng)循環(huán)機(jī)制也處于IDLE狀態(tài)。等待狀態(tài)表示正在等待主叫號(hào)碼消息;在接收到來電消息,且消息中未攜帶主叫號(hào)碼信息時(shí)由空閑狀態(tài)進(jìn)入這個(gè)狀態(tài)。
完成狀態(tài)表示等待主叫號(hào)碼信息的過程已經(jīng)完成;在接收到主叫號(hào)碼信息,或超過等待閾值時(shí),由空閑狀態(tài)或等待狀態(tài)進(jìn)入這個(gè)狀態(tài),向Android系統(tǒng)報(bào)告呼叫狀態(tài)變化消息,Android系統(tǒng)會(huì)根據(jù)前后呼叫狀態(tài)的變化調(diào)用onCalIStateChange O函數(shù)通知各個(gè)應(yīng)用程序。通過三個(gè)狀態(tài)之間的切換完成針對CDMA網(wǎng)絡(luò)的獲取來電主叫號(hào)碼的整個(gè)過程,目的是在接到來電消息時(shí)不立即上報(bào)呼叫狀態(tài)變化消息,直到在后續(xù)的補(bǔ)充消息中獲取主叫號(hào)碼信息以后,再上報(bào)呼叫狀態(tài)變化消息,這樣上述的應(yīng)用程序就可以正常工作。需要注意的是,上述實(shí)施例中將不是第一時(shí)間到達(dá)被叫終端的,在所述來電消息之后到達(dá)的消息成為所述的補(bǔ)充消息,所述補(bǔ)充消息除可能包含主叫號(hào)碼信息外還可以包含一些其他現(xiàn)有技術(shù)下的常用信息。進(jìn)一步地,該CDMA網(wǎng)絡(luò)中獲得來電主叫號(hào)碼的方法還可以包括當(dāng)通話結(jié)束時(shí),將被叫終端的接聽線路進(jìn)程由完成狀態(tài)恢復(fù)為空閑狀態(tài)。
至此完成了三種狀態(tài)的之間的自動(dòng)循環(huán)機(jī)制,當(dāng)然,用戶也可以根據(jù)需要手動(dòng)進(jìn)行狀態(tài)的轉(zhuǎn)換。由于并不是所有的來電消息后續(xù)都會(huì)補(bǔ)發(fā)主叫號(hào)碼過來,例如主叫終端開通了去電號(hào)碼隱藏業(yè)務(wù),或者被叫終端沒有開通來電號(hào)碼顯示業(yè)務(wù)等等,所以在被叫終端的接聽線路進(jìn)程處于等待狀態(tài)時(shí),可以設(shè)定一個(gè)等待時(shí)間的上限,以防沒有補(bǔ)充消息或補(bǔ)充消息中不包含主叫號(hào)碼時(shí),等待時(shí)間過長。在被叫終端的接聽線路進(jìn)程進(jìn)入等待狀態(tài)的時(shí)間大于等待閾值時(shí),將被叫終端的接聽線路進(jìn)程由等待狀態(tài)強(qiáng)制進(jìn)入完成狀態(tài),上報(bào)呼叫狀態(tài)變化消息。一般而言,CDMA網(wǎng)絡(luò)上攜帶主叫號(hào)碼信息會(huì)在來電消息的IOOms左右后到達(dá)。所以,該等待閾值設(shè)置時(shí)間為200ms 300ms都是比較安全、常用的數(shù)值,當(dāng)然可以根據(jù)應(yīng)用程序需求主叫號(hào)碼的緊急性對該等待閾值的時(shí)間進(jìn)行設(shè)置,較佳地,等待閾值可以設(shè)置為一般到達(dá)時(shí)間的兩倍。經(jīng)過申請人的實(shí)驗(yàn)得知,在網(wǎng)絡(luò)業(yè)務(wù)允許的前提下,在合理地設(shè)計(jì)等待閾值條件下,本發(fā)明實(shí)施例提供的方法可以確保99. 99%的呼叫都可以得到主叫電話號(hào)碼,滿足應(yīng)用軟件的需求。需要說明的是,由于本發(fā)明實(shí)施例提供的方法不僅適用于CDMA網(wǎng)絡(luò),在其他來電消息中含有主叫號(hào)碼的通信網(wǎng)絡(luò)中也能正常工作,進(jìn)一步地,本發(fā)明實(shí)施例還包括當(dāng)來電消息中包含主叫終端的號(hào)碼信息時(shí),向所有監(jiān)聽被叫終端的接聽線路進(jìn)程的呼叫狀態(tài)的應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息后,將被叫終端的接聽線路進(jìn)程由空閑狀態(tài)直接進(jìn)入完成狀態(tài)。優(yōu)選地,在被叫終端的接聽線路進(jìn)程進(jìn)入完成狀態(tài)后,向被叫終端的操作系統(tǒng)返回代表獲取主叫號(hào)碼動(dòng)作完成的響應(yīng)消息??梢岳斫獾氖?,所述響應(yīng)消息為現(xiàn)有技術(shù)中常用的一方在接收到請求消息后,返回發(fā)送方的用于報(bào)告狀態(tài)的反饋消息,例如可以采用2000K的形式完成。配合上述方法,如圖3所示,本發(fā)明實(shí)施例還提供了一種獲得來電主叫號(hào)碼的裝置,該裝置包括檢查模塊301,用于接收來自主叫終端的來電消息,且當(dāng)所述來電消息中不包含主叫終端的號(hào)碼信息時(shí),將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)進(jìn)入等待狀態(tài),等待接收包括主叫終端的號(hào)碼信息的補(bǔ)充消息;上報(bào)模塊302,用于接收補(bǔ)充消息后,向所有監(jiān)聽呼叫狀態(tài)的系統(tǒng)應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息,將所述被叫終端的接聽線路進(jìn)程由等待狀態(tài)進(jìn)入完成狀態(tài),所述呼叫狀態(tài)變化消息包括主叫終端的號(hào)碼信息。在上述實(shí)施例中本發(fā)明裝置的檢查模塊301在被叫終端的接聽線路進(jìn)程接收到來電消息時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換,并負(fù)責(zé)等待和獲取主叫終端的主叫號(hào)碼信息,當(dāng)上報(bào)模塊在獲得主叫號(hào)碼信息后,再上報(bào)呼叫狀態(tài)變化消息,這樣保證上報(bào)的呼叫狀態(tài)變化消息中確定含有主叫號(hào)碼信息,進(jìn)而保證被叫終端的某些需要得到主叫號(hào)碼才能工作的應(yīng)用程序可以正常工作。進(jìn)一步地,所述上報(bào)模塊302還用于,當(dāng)通話結(jié)束時(shí),將所述被叫終端的接聽線路進(jìn)程由完成狀態(tài)恢復(fù)為空閑狀態(tài)。 至此本發(fā)明上述實(shí)施例完成了三種狀態(tài)之間的自動(dòng)循環(huán)機(jī)制,當(dāng)然,用戶也可以根據(jù)需要手動(dòng)進(jìn)行狀態(tài)的轉(zhuǎn)換。上報(bào)模塊302還用于,在所述被叫終端的接聽線路進(jìn)程進(jìn)入等待狀態(tài)的時(shí)間大于等待閾值時(shí),將被叫終端的接聽線路進(jìn)程由等待狀態(tài)強(qiáng)制進(jìn)入完成狀態(tài),上報(bào)所述呼叫狀態(tài)變化消息。由于并不是所有的來電消息后續(xù)都會(huì)補(bǔ)發(fā)主叫號(hào)碼過來,例如主叫終端開通了去電號(hào)碼隱藏業(yè)務(wù),或者被叫終端沒有開通來電號(hào)碼顯示業(yè)務(wù)等等,所以在被叫終端的接聽線路進(jìn)程處于等待狀態(tài)時(shí),所述上報(bào)模塊可以設(shè)定一個(gè)等待時(shí)間的上限,以防沒有補(bǔ)充消息或補(bǔ)充消息中不包含主叫號(hào)碼時(shí),等待時(shí)間過長,在所述被叫終端的接聽線路進(jìn)程進(jìn)入等待狀態(tài)的時(shí)間大于等待閾值時(shí),將被叫終端的接聽線路進(jìn)程由等待狀態(tài)強(qiáng)制進(jìn)入完成狀態(tài),上報(bào)所述呼叫狀態(tài)變化消息。一般而言,CDMA網(wǎng)絡(luò)上攜帶主叫號(hào)碼信息會(huì)在來電消息的IOOms左右后到達(dá)。所以,等待閾值設(shè)置時(shí)間為200ms 300ms都是比較安全、常用的數(shù)值,當(dāng)然可以根據(jù)應(yīng)用程序需求主叫號(hào)碼的緊急性對該等待閾值的時(shí)間進(jìn)行設(shè)置,將等待閾值設(shè)置為一般到達(dá)時(shí)間的兩倍為比較好的選擇。經(jīng)過申請人的實(shí)驗(yàn)得知,在網(wǎng)絡(luò)業(yè)務(wù)允許的前提下,在合理地設(shè)計(jì)等待閾值條件下,本發(fā)明實(shí)施例提供的方法可以確保99. 99%的呼叫都得到主叫電話號(hào)碼,滿足應(yīng)用軟件的需求。需要說明的是,由于該方法不僅適用于CDMA網(wǎng)絡(luò),在其他來電消息中含有主叫號(hào)碼的通信網(wǎng)絡(luò)中也能正常工作,進(jìn)一步地,本發(fā)明實(shí)施例中所述檢查模塊還用于當(dāng)所述來電消息中包含主叫終端的號(hào)碼信息時(shí),向所有監(jiān)聽被叫終端的接聽線路進(jìn)程的呼叫狀態(tài)的應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息后,將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)直接進(jìn)入完成狀態(tài)。優(yōu)選地,所述上報(bào)模塊302還用于,將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)直接進(jìn)入完成狀態(tài)后,向被叫終端的操作系統(tǒng)返回代表獲取主叫號(hào)碼動(dòng)作完成的響應(yīng)消
肩、O需要說明的是,本發(fā)明實(shí)施例提供的獲得來電主叫號(hào)碼的裝置可以根據(jù)被叫終端不同規(guī)格在不同的位置,例如可以設(shè)置在Android系統(tǒng)中很多模塊中,比如在Android系統(tǒng)中的通話跟蹤器 CallTracker 里,也可以在 RILJ (adio Inteface Layer Java Part,無線接口層Java部分)里,還可以在GSM驅(qū)動(dòng)模塊RILD (Radio Interface Daemon,無線接口層守護(hù)進(jìn)程)里。但是必須位于CallTracker和調(diào)制解調(diào)器MODEM之間。如圖4所示,為了更好的理解本發(fā)明實(shí)施例提供的方案,下面以CDMA網(wǎng)絡(luò)中使用Andriod操作系統(tǒng)的被叫終端為例,進(jìn)行詳細(xì)講解S401,當(dāng)被叫終端的接聽線路進(jìn)程接收到來電消息時(shí),檢查模塊針對該呼叫請求將狀態(tài)設(shè)置為空閑狀態(tài),先不向Android系統(tǒng)報(bào)告(即不會(huì)調(diào)用onCalIStateChange O函數(shù)的消息);S402,檢測當(dāng)前來電消息是否包含主叫終端的 主叫號(hào)碼;若具有,則執(zhí)行S403 ;否貝1J,執(zhí)行S404;S403,將當(dāng)前被叫終端的接聽線路進(jìn)程的狀態(tài)更改為完成狀態(tài),表示等待主叫號(hào)碼信息過程已經(jīng)完成,向Android系統(tǒng)返回響應(yīng)消息報(bào)告呼叫狀態(tài)發(fā)生變化;結(jié)束流程。S404,將當(dāng)前被叫終端的接聽線路進(jìn)程的狀態(tài)更改為等待狀態(tài);S405,檢測是否接收到攜帶主叫號(hào)碼的補(bǔ)充消息,在ADRIOD系統(tǒng)下可UNS0L_CDMA_INF0_REC消息,并同時(shí)啟動(dòng)計(jì)時(shí)器,根據(jù)設(shè)置的等待閾值開始計(jì)時(shí);S406,當(dāng)檢測到已接收到UNS0L_CDMA_INF0_REC消息或者計(jì)時(shí)器到時(shí)間后,將當(dāng)前被叫終端的接聽線路進(jìn)程的狀態(tài)更改為完成狀態(tài),表示等待主叫號(hào)碼信息過程已經(jīng)完成,向Android系統(tǒng)返回響應(yīng)消息報(bào)告呼叫狀態(tài)發(fā)生變化;結(jié)束流程。綜上所述,本發(fā)明實(shí)施例設(shè)置了一套狀態(tài)自動(dòng)循環(huán)機(jī)制,在接收到來電消息時(shí),先不進(jìn)行呼叫狀態(tài)消息的上報(bào),直到確認(rèn)或獲得了主叫號(hào)碼的情況下再進(jìn)行上報(bào),這樣保證了被叫終端的接聽線路進(jìn)程的需要獲得主叫號(hào)碼的應(yīng)用程序可以正常工作。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。·
權(quán)利要求
1.一種獲得來電主叫號(hào)碼的方法,其特征在于,該方法包括 接收來自主叫終端的來電消息,且當(dāng)所述來電消息中不包含主叫終端的號(hào)碼信息時(shí),控制所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)進(jìn)入等待狀態(tài),等待接收包括主叫終端的號(hào)碼信息的補(bǔ)充消息; 接收到補(bǔ)充消息后,向所有監(jiān)聽呼叫狀態(tài)的系統(tǒng)應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息,控制所述被叫終端的接聽線路進(jìn)程由等待狀態(tài)進(jìn)入完成狀態(tài),所述呼叫狀態(tài)變化消息包括主叫終端的號(hào)碼信息。
2.如權(quán)利要求I所述的方法,其特征在于,該方法還包括 當(dāng)所述來電消息中包含主叫終端的號(hào)碼信息時(shí),向所有監(jiān)聽被叫終端的接聽線路進(jìn)程的呼叫狀態(tài)的應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息后,將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)直接進(jìn)入完成狀態(tài)。
3.如權(quán)利要求2所述的方法,其特征在于,該方法還包括 當(dāng)通話結(jié)束時(shí),將所述被叫終端的接聽線路進(jìn)程由完成狀態(tài)恢復(fù)為空閑狀態(tài)。
4.如權(quán)利要求I所述的方法,其特征在于,在所述被叫終端的接聽線路進(jìn)程進(jìn)入等待狀態(tài)的時(shí)間大于等待閾值時(shí),將被叫終端的接聽線路進(jìn)程由等待狀態(tài)強(qiáng)制進(jìn)入完成狀態(tài),上報(bào)所述呼叫狀態(tài)變化消息。
5.如權(quán)利要求4所述的方法,其特征在于,所述等待閾值為200ms 300ms。
6.如權(quán)利要求I或4所述的方法,其特征在于,在所述被叫終端的接聽線路進(jìn)程進(jìn)入完成狀態(tài)后,向被叫終端的操作系統(tǒng)返回代表獲取主叫號(hào)碼動(dòng)作完成的響應(yīng)消息。
7.一種獲得來電主叫號(hào)碼的裝置,其特征在于,該裝置包括 檢查模塊,用于接收來自主叫終端的來電消息,且當(dāng)所述來電消息中不包含主叫終端的號(hào)碼信息時(shí),將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)進(jìn)入等待狀態(tài),等待接收包括主叫終端的號(hào)碼信息的補(bǔ)充消息; 上報(bào)模塊,用于接收補(bǔ)充消息后,向所有監(jiān)聽呼叫狀態(tài)的系統(tǒng)應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息,將所述被叫終端的接聽線路進(jìn)程由等待狀態(tài)進(jìn)入完成狀態(tài),所述呼叫狀態(tài)變化消息包括主叫終端的號(hào)碼信息。
8.如權(quán)利要求7所述的裝置,其特征在于,所述檢查模塊還用于 當(dāng)所述來電消息中包含主叫終端的號(hào)碼信息時(shí),向所有監(jiān)聽被叫終端的接聽線路進(jìn)程呼叫狀態(tài)的應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息后,將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)直接進(jìn)入完成狀態(tài)。
9.如權(quán)利要求8所述的裝置,其特征在于,所述上報(bào)模塊還用于 當(dāng)通話結(jié)束時(shí),將所述被叫終端的接聽線路進(jìn)程由完成狀態(tài)恢復(fù)為空閑狀態(tài)。
10.如權(quán)利要求7所述的裝置,其特征在于,所述上報(bào)模塊還用于,在所述被叫終端的接聽線路進(jìn)程進(jìn)入等待狀態(tài)的時(shí)間大于等待閾值時(shí),將被叫終端的接聽線路進(jìn)程由等待狀態(tài)強(qiáng)制進(jìn)入完成狀態(tài),上報(bào)所述呼叫狀態(tài)變化消息。
11.如權(quán)利要求7或10所述的裝置,其特征在于,所述上報(bào)模塊還用于,在所述被叫終端的接聽線路進(jìn)程進(jìn)入完成狀態(tài)后,向被叫終端的操作系統(tǒng)返回代表獲取主叫號(hào)碼動(dòng)作完成的響應(yīng)消息。
全文摘要
本發(fā)明實(shí)施例公開了一種獲得來電主叫號(hào)碼的方法及裝置,涉及通信技術(shù)領(lǐng)域,用以正確的獲取主叫號(hào)碼,使被叫終端的某些需要得到主叫號(hào)碼才能工作的應(yīng)用程序可以正常工作。該方法包括接收來自主叫終端的來電消息,且當(dāng)所述來電消息中不包含主叫終端的號(hào)碼信息時(shí),將所述被叫終端的接聽線路進(jìn)程由空閑狀態(tài)進(jìn)入等待狀態(tài),等待接收包括主叫終端的號(hào)碼信息的補(bǔ)充消息;接收到補(bǔ)充消息后,向所有監(jiān)聽呼叫狀態(tài)的系統(tǒng)應(yīng)用程序上報(bào)呼叫狀態(tài)變化消息,將所述被叫終端的接聽線路進(jìn)程由等待狀態(tài)進(jìn)入完成狀態(tài),所述呼叫狀態(tài)變化消息包括主叫終端的號(hào)碼信息。
文檔編號(hào)H04M1/57GK102917100SQ20121039083
公開日2013年2月6日 申請日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
發(fā)明者王文林, 彭濤, 徐萌 申請人:北京小米科技有限責(zé)任公司