專利名稱:一種ip終端或網(wǎng)關(guān)的收號方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種IP終端或網(wǎng)關(guān)的收號方法,屬于信息通信技術(shù)的收號技術(shù)的技術(shù)領(lǐng)域,具體說屬于信息通信技術(shù)的收號技術(shù)中主要涉及IP終端或網(wǎng)關(guān)的的收號方法的技術(shù)領(lǐng)域。
背景技術(shù):
在使用SIP協(xié)議的多媒體通信系統(tǒng)中,主要由端系統(tǒng)(終端)和服務器系統(tǒng)組成。 端系統(tǒng)向服務器發(fā)起呼叫的時候必須先收齊被叫號碼(即收號,一個完整地收號過程的描述為端系統(tǒng)(終端)將接收的一個完整的號碼向服務器發(fā)起呼叫的過程稱為收號的過程),而協(xié)議本身并沒有指出端系統(tǒng)如何收集用戶輸入的被叫號碼;所以收集被叫用戶號碼必須由端系統(tǒng)自己完成。
我們知道,傳統(tǒng)的模擬電話是由服務器判斷用戶是否撥完號碼的,而不是由終端完成的。目前使用SIP協(xié)議的幾乎所有端系統(tǒng)解決收號的方法有兩種第一種為端系統(tǒng)都設有一個發(fā)送鍵,當用戶撥完被叫號碼后按發(fā)送鍵,端系統(tǒng)在檢測到用戶按了發(fā)送鍵后認為主叫撥完被叫號碼,向服務器發(fā)起呼叫。第二種方法是用戶撥完被叫號碼后按‘#’號鍵表示撥號結(jié)束,端系統(tǒng)在收到‘#’號時認為用戶收完被叫號碼,向服務器發(fā)起呼叫,收號結(jié)束O 對于以上的兩種方法都存在一個問題,既要求用戶判斷是否撥完被叫號碼,而對于用慣了傳統(tǒng)電話的用戶來說,使用上既不習慣也不方便。用戶希望撥完被叫號碼后端系統(tǒng)就能向服務器系統(tǒng)發(fā)起呼叫。
發(fā)明內(nèi)容
本發(fā)明提供了一種IP終端或網(wǎng)關(guān)的收號方法,以實現(xiàn)不需要用戶發(fā)送結(jié)束標志即達到收號的目的。
為達到上述目的本發(fā)明的技術(shù)方案是 一種IP終端或網(wǎng)關(guān)的收號方法,包括如下步驟 (一 )、配置號碼匹配表;用戶在終端上設置號碼匹配表,該號碼匹配表為二維表結(jié)構(gòu),包括號碼前綴字符串字段和號碼長度字段; 該號碼前綴字符串指一種類型號碼的前面幾位號碼; 該號碼長度指包括號碼前綴字符串長度在內(nèi)的一種類型號碼的總長度; (二)、初始化號碼匹配表并存入內(nèi)存;其規(guī)則為,將號碼匹配表配置的數(shù)據(jù)記錄根據(jù)號碼前綴字符串的長度進行降序排序,前綴長度大的配置數(shù)據(jù)記錄放在號碼匹配表的前面,前綴長度小的配置數(shù)據(jù)記錄放在后面;前綴長度相同的配置數(shù)據(jù)記錄按原先的順序存放; (三)、號碼匹配;用戶撥號時,將用戶所撥的被叫號碼依次存入號碼緩沖區(qū),不斷將存入號碼緩沖區(qū)內(nèi)的號碼和內(nèi)存中號碼匹配表的記錄進行匹配,判斷用戶是否撥完被叫號碼,若是則馬上向服務器系統(tǒng)發(fā)起呼叫;否則對于沒有匹配上的或者匹配結(jié)果不唯一的號碼則結(jié)合定時器來完成撥號。
該號碼匹配的具體過程為 步驟101、當端系統(tǒng)進入撥號過程中時,設置首位號定時器,清號碼緩沖區(qū);設置號間定時器時長為長時長; 步驟102、等待用戶撥號,在等待用戶撥號的過程中,若該首位號定時器超時則進入步驟117 ;若用戶撥號則進入步驟103 ; 步驟103、設置號間定時器,如果是用戶撥的第一位號碼則停止首位號定時器; 步驟104、置臨時匹配結(jié)果為不匹配; 步驟105、判斷號碼匹配表是否還有未匹配的號碼匹配數(shù)據(jù)記錄;如果還有未匹配的數(shù)據(jù)項或數(shù)據(jù)記錄,則進入步驟107 ;否則進入步驟106 ; 步驟106、號碼匹配結(jié)束,結(jié)果為臨時匹配結(jié)果;返回步驟102等待用戶撥下一個號碼; 步驟107、獲取號碼匹配表中順序下一個匹配數(shù)據(jù)項或數(shù)據(jù)記錄; 步驟108、判斷在用戶所撥的號碼串中是否包含當前獲取的匹配數(shù)據(jù)記錄的號碼前綴字符串字段的內(nèi)容;如果包含則進入步驟111 ;否則進入步驟109 ; 步驟109、判斷當前獲取的匹配數(shù)據(jù)記錄的號碼前綴字符串字段中內(nèi)容是否包含用戶所撥的號碼串;如果包含則進入步驟110 ;否則進入步驟105 ; 步驟110、置臨時匹配結(jié)果為部分匹配,然后進入步驟105 ; 步驟111、判斷用戶所撥號碼串長度是否等于當前獲取的匹配數(shù)據(jù)記錄的號碼長度字段內(nèi)的長度值;如果長度相等則進入步驟112 ;否則進入步驟110 ; 步驟112、判斷臨時匹配結(jié)果屬于什么匹配;如果是不匹配進入步驟113 ;如果是部分匹配則進入步驟114; 步驟113、置匹配結(jié)果為完全匹配;跳至步驟115 ; 步驟114、置匹配結(jié)果為既有完全匹配又有部分匹配; 步驟115、判斷匹配結(jié)果;若是完全匹配則進入步驟117 ;若是既有完全匹配又有部分匹配則進入步驟116 ;否則為部分匹配或不匹配則進入步驟102 ; 步驟116、修改號間定時器時長為為短時長;重新進入步驟102 ; 步驟117、收號過程結(jié)束;號碼緩沖區(qū)內(nèi)號碼為被叫號碼,向服務器系統(tǒng)發(fā)起呼叫。
該首位號定時器及該號間定時器為設置在內(nèi)存中由系統(tǒng)時鐘控制的計時單元; 所述的首位號定時器用來限定用戶從摘機到撥第一位號碼的時長;設定范圍為 5-120 秒; 所述的號間定時器用來限定用戶連續(xù)撥下一個號碼的時長;該號間定時器根據(jù)匹配結(jié)果可在預先設定的長時長和短時長之間轉(zhuǎn)換;所述的長時長的范圍為4-15秒;所述的短時長的范圍為大于等于1秒且小于4秒的范圍內(nèi)。
該首位號定時器設定為15秒;該號間定時器的長時長設定為5秒;該號間定時器的短時長設定為3秒。
該臨時匹配結(jié)果和該匹配結(jié)果為設置在內(nèi)存中分別用于區(qū)別號碼匹配狀態(tài)的存貯單元; 所述的號碼匹配狀態(tài)包括完全匹配、部分匹配、既有完全匹配又有部分匹配和不匹配四種狀態(tài); 所述的完全匹配,指用戶所撥的號碼字符串只和匹配表中的一項匹配數(shù)據(jù)記錄有如下關(guān)系,既用戶所撥的號碼字符串包含該匹配數(shù)據(jù)記錄的號碼前綴字符串字段內(nèi)容,且號碼字符串的長度和該匹配數(shù)據(jù)記錄的號碼長度字段值相同; 所述的部分匹配,指用戶所撥的號碼字符串和匹配表中的一項或多項匹配數(shù)據(jù)記錄有如下關(guān)系,既用戶所撥的號碼字符串包含所述的一項或多項匹配數(shù)據(jù)記錄的號碼前綴字符串字段內(nèi)容,但是用戶所撥號碼字符串的長度和所述的一項或多項匹配數(shù)據(jù)記錄的號碼長度字段值均不相等;或是所述的一項或多項匹配數(shù)據(jù)記錄的號碼前綴字符串字段中包含用戶所撥號碼字符串但所述的一項或多項匹配數(shù)據(jù)記錄的號碼長度字段值和用戶所撥號碼字符串的長度不相等; 所述的既有完全匹配又有部分匹配,指用戶所撥號碼字符串既和匹配表中的一項數(shù)據(jù)記錄符合完全匹配的條件,且用戶所撥號碼字符串也和匹配表中的一項或多項數(shù)據(jù)記錄符合部分匹配的條件; 所述的不匹配,指用戶所撥號碼字符串不包含匹配表中任何一條匹配數(shù)據(jù)記錄的號碼前綴字符串字段的內(nèi)容。
該部分匹配用數(shù)字0表示;該完全匹配用數(shù)字1表示;該既有完全匹配又有部分匹配用數(shù)字2表示;該不匹配用數(shù)字3表示。
采用本發(fā)明的技術(shù)方案使用用戶配置多條包括號碼前綴字符串和號碼總長度的匹配表,在端(終端)系統(tǒng)初始化時,根據(jù)用戶的配置,程序初始化時讀入內(nèi)存,且讀入內(nèi)存的匹配表是將用戶配置的匹配數(shù)據(jù)記錄根據(jù)號碼前綴字符串的長度從大到小排序后放入內(nèi)存,也就是說號碼前綴字符串長的排列在前面;用戶撥號時,將用戶所撥的號碼和內(nèi)存中的匹配表進行匹配,判斷用戶是否撥完被叫號碼,若是則馬上向服務器系統(tǒng)發(fā)起呼叫,否則對于沒有匹配上的或者匹配結(jié)果不唯一的號碼則結(jié)合定時器來完成撥號。即接收到用戶撥打的被叫號碼后,將被叫號碼放入號碼緩沖區(qū),之后將號碼緩沖區(qū)中用戶所撥號碼與初始化時放入內(nèi)存的號碼匹配表數(shù)據(jù)進行匹配,若匹配結(jié)果為完全匹配,則結(jié)束收號過程;否則返回匹配結(jié)果等待用戶的下次撥號。其中還要判斷定時器是否超時,并當所述定時器超時時結(jié)束收號過程,端系統(tǒng)直接向服務器系統(tǒng)發(fā)起呼叫。
采用本發(fā)明的方法不要求用戶判斷是否撥完被叫號碼,與傳統(tǒng)電話的使用習慣相同,撥完被叫號碼后端系統(tǒng)通過自動判斷就能向服務器系統(tǒng)發(fā)起呼叫,具有簡單方便的優(yōu)點ο
圖1為本發(fā)明號碼匹配方法的整體流程示意圖; 圖2為本發(fā)明號碼匹配過程的流程圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的方法詳細描述如下。
經(jīng)過對用戶撥打的被叫號碼分析后發(fā)現(xiàn),用戶撥打的被叫號碼類型不同,號碼的起始幾位和號碼總長度不相同。例如某一個非北京的公司,內(nèi)部的所有分機是以3開頭的長度為4的號碼;公司所在地區(qū)的市話號碼是以361開頭的電話號碼,但是其長度為7位; 對于長途電話來說號碼都是以0開頭的號碼,長度為11或者12位。例如用戶要撥打北京的固定電話,撥號為010XXXXXXXX,北京的區(qū)號為010,XXXXXXXX為固話號碼,總共11位,用戶撥打北京的固話時010三位號碼是固定的。另外對用戶撥號習慣分析發(fā)現(xiàn),用戶撥號時, 撥號間隔較短。
因此本發(fā)明提供了一種IP終端或網(wǎng)關(guān)的收號方法,如圖1所示,包括如下步驟 首先,配置號碼匹配表;用戶在終端上設置號碼匹配表,該號碼匹配表為二維表結(jié)構(gòu),包括號碼前綴字符串字段和號碼長度字段; 該號碼前綴字符串指一種類型號碼的前面幾位號碼; 該號碼長度指包括號碼前綴字符串長度在內(nèi)的一種類型號碼的總長度; 其次,初始化號碼匹配表并存入內(nèi)存;其規(guī)則為,將號碼匹配表配置的數(shù)據(jù)記錄根據(jù)號碼前綴字符串的長度進行降序排序,前綴長度大的配置數(shù)據(jù)記錄放在號碼匹配表的前面,前綴長度小的配置數(shù)據(jù)記錄放在后面;前綴長度相同的配置數(shù)據(jù)記錄按原先的順序存放; 接下來再進行的是,號碼匹配;用戶撥號時,將用戶所撥的被叫號碼依次存入號碼緩沖區(qū),不斷將存入號碼緩沖區(qū)內(nèi)的號碼和內(nèi)存中號碼匹配表的記錄進行匹配,判斷用戶是否撥完被叫號碼,若是則馬上向服務器系統(tǒng)發(fā)起呼叫;否則對于沒有匹配上的或者匹配結(jié)果不唯一的號碼則結(jié)合定時器來完成撥號。所設定的定時器包括首位號定時器及號間定時器,所述的首位號定時器用來等待用戶撥第一位號碼,所述號間定時器用來等待用戶撥的下一個號碼,特別的所述的號間定時器的時長可根據(jù)匹配結(jié)果要將初始設置的長時長修改為短時長。
該首位號定時器及該號間定時器為設置在內(nèi)存中由系統(tǒng)時鐘控制的計時單元;所述的首位號定時器用來限定用戶從摘機到撥第一位號碼的時長;設定范圍為5-120秒,最佳的設定為15秒; 所述的號間定時器用來限定用戶連續(xù)撥下一個號碼的時長;該號間定時器根據(jù)匹配結(jié)果可在預先設定的長時長和短時長之間轉(zhuǎn)換;所述的長時長的范圍為4-15秒,最佳的長時長設定為5秒;所述的短時長的范圍為大于等于1秒且小于4秒的范圍內(nèi),S卩1-4秒 (不包括4秒),最佳的短時長設定為3秒。
為記載并控制匹配的過程,在內(nèi)存中設置兩個存貯單元臨時匹配結(jié)果存貯單元和匹配結(jié)果存貯單元;分別存儲號碼當前匹配狀態(tài),即臨時匹配結(jié)果狀態(tài)和匹配結(jié)果狀態(tài)。
號碼匹配狀態(tài)包括完全匹配、部分匹配、既有完全匹配又有部分匹配和不匹配四種狀態(tài);在實際使用中可用不同的數(shù)字表示不同的狀態(tài),例如該部分匹配用數(shù)字0表示;該完全匹配用數(shù)字1表示;該既有完全匹配又有部分匹配用數(shù)字2表示;該不匹配用數(shù)字3表示。
所述的完全匹配,指用戶所撥的號碼字符串只和匹配表中的一項匹配數(shù)據(jù)記錄有如下關(guān)系,既用戶所撥的號碼字符串包含該匹配數(shù)據(jù)記錄的號碼前綴字符串字段內(nèi)容,且號碼字符串的長度和該匹配數(shù)據(jù)記錄的號碼長度字段值相同; 所述的部分匹配,指用戶所撥的號碼字符串和匹配表中的一項或多項匹配數(shù)據(jù)記錄有如下關(guān)系,既用戶所撥的號碼字符串包含所述的一項或多項匹配數(shù)據(jù)記錄的號碼前綴字符串字段內(nèi)容,但是用戶所撥號碼字符串的長度和所述的一項或多項匹配數(shù)據(jù)記錄的號碼長度字段值均不相等;或是所述的一項或多項匹配數(shù)據(jù)記錄的號碼前綴字符串字段中包含用戶所撥號碼字符串但所述的一項或多項匹配數(shù)據(jù)記錄的號碼長度字段值和用戶所撥號碼字符串的長度不相等; 所述的既有完全匹配又有部分匹配,指用戶所撥號碼字符串既和匹配表中的一項數(shù)據(jù)記錄符合完全匹配的條件,且用戶所撥號碼字符串也和匹配表中的一項或多項數(shù)據(jù)記錄符合部分匹配的條件; 所述的不匹配,指用戶所撥號碼字符串不包含匹配表中任何一條匹配數(shù)據(jù)記錄的號碼前綴字符串字段的內(nèi)容。
如圖2所示,所述的號碼匹配的具體過程為 步驟101、當端系統(tǒng)進入撥號過程中時,設置首位號定時器,清號碼緩沖區(qū);設置號間定時器時長為長時長; 步驟102、等待用戶撥號,在等待用戶撥號的過程中,若該首位號定時器超時則進入步驟117 ;若用戶撥號則進入步驟103 ; 步驟103、設置號間定時器,如果是用戶撥的第一位號碼則停止首位號定時器; 步驟104、置臨時匹配結(jié)果為不匹配; 步驟105、判斷號碼匹配表是否還有未匹配的號碼匹配數(shù)據(jù)記錄;如果還有未匹配的數(shù)據(jù)項或數(shù)據(jù)記錄,則進入步驟107 ;否則進入步驟106 ; 步驟106、號碼匹配結(jié)束,結(jié)果為臨時匹配結(jié)果;返回步驟102等待用戶撥下一個號碼; 步驟107、獲取號碼匹配表中順序下一個匹配數(shù)據(jù)項或數(shù)據(jù)記錄; 步驟108、判斷在用戶所撥的號碼串中是否包含當前獲取的匹配數(shù)據(jù)記錄的號碼前綴字符串字段的內(nèi)容;如果包含則進入步驟111 ;否則進入步驟109 ; 步驟109、判斷當前獲取的匹配數(shù)據(jù)記錄的號碼前綴字符串字段中內(nèi)容是否包含用戶所撥的號碼串;如果包含則進入步驟110 ;否則進入步驟105 ; 步驟110、置臨時匹配結(jié)果為部分匹配,然后進入步驟105 ; 步驟111、判斷用戶所撥號碼串長度是否等于當前獲取的匹配數(shù)據(jù)記錄的號碼長度字段內(nèi)的長度值;如果長度相等則進入步驟112 ;否則進入步驟110 ; 步驟112、判斷臨時匹配結(jié)果屬于什么匹配;如果是不匹配進入步驟113 ;如果是部分匹配則進入步驟114; 步驟113、置匹配結(jié)果為完全匹配;跳至步驟115 ; 步驟114、置匹配結(jié)果為既有完全匹配又有部分匹配; 步驟115、判斷匹配結(jié)果;若是完全匹配則進入步驟117 ;若是既有完全匹配又有部分匹配則進入步驟116 ;否則為部分匹配或不匹配則進入步驟102 ; 步驟116、修改號間定時器時長為為短時長;重新進入步驟102 ; 步驟117、收號過程結(jié)束;號碼緩沖區(qū)內(nèi)號碼為被叫號碼,向服務器系統(tǒng)發(fā)起呼叫。
綜上所述在端系統(tǒng)初始化時,所述號碼匹配表模塊(如圖1)將用戶配置的匹配數(shù)據(jù)按一定規(guī)則(排序)處理后,將處理后的匹配數(shù)據(jù)放入內(nèi)存中; 所述號碼匹配數(shù)據(jù)具有以下特點每一個匹配數(shù)據(jù)包含兩部分內(nèi)容一部分是號碼前綴字符串,指一種類型號碼的前面幾位號碼,例如分機類型號碼的前面兩位“36”; 一部分是號碼長度,指包括號碼前綴字符串長度的一種類型號碼的總長度,例如分機類型的號碼總長度為4。其中號碼長度不小于號碼前綴字符串的長度,且號碼匹配數(shù)據(jù)可以配置多項。
所述的號碼匹配表處理規(guī)則和內(nèi)存中的匹配表數(shù)據(jù)具有以下特點將配置數(shù)據(jù)根據(jù)號碼前綴的長度進行排序,前綴長度大的配置數(shù)據(jù)放在內(nèi)存中號碼匹配表的前面,前綴長度小的配置數(shù)據(jù)放在后面。前綴長度相同的按原先的順序存放。
進一步地,當端系統(tǒng)進入收號狀態(tài)時啟用首位號定時器,等待首位號碼。清號碼緩沖區(qū);所述號碼匹配模塊在接收到用戶的一個撥號后,進一步包括以下步驟 如果是第一位號碼則停止首位號定時器的步驟; 設號間定時器,定時器時長為長時長的步驟; 對用戶所撥的號碼進行一次號碼匹配表匹配的步驟; 進一步地,對用戶所撥的號碼進行號碼匹配表匹配的步驟具有以下特點從內(nèi)存中的號碼匹配表的第一個匹配數(shù)據(jù)開始,順序的將用戶所撥的號碼和匹配數(shù)據(jù)匹配。其中, 當系統(tǒng)開始一次號碼匹配表的匹配過程時包括如下步驟置臨時匹配結(jié)果為不匹配,臨時匹配結(jié)果標記用戶所撥號碼與一項匹配數(shù)據(jù)匹配的結(jié)果;啟用號間定時器,時長為長時長。
所述號碼匹配模塊在進行用戶所撥號碼和匹配表中單個匹配數(shù)匹配時具有以下特點 在用戶所撥的號碼串中,查找是否包含匹配數(shù)據(jù)的前綴字符串,所述的包含是指從用戶所撥號碼的第一個號碼開始的多個子字符串中的一個和匹配數(shù)據(jù)的前綴字符串相同。
若用戶所撥的號碼串中不包含匹配數(shù)據(jù)的前綴字符串,則在匹配數(shù)據(jù)的前綴字符串中檢查是否包含用戶所撥的號碼。若匹配數(shù)據(jù)的前綴字符串中包含用戶所撥的號碼,則置臨時匹配結(jié)果為部分匹配,結(jié)束和單個匹配數(shù)據(jù)匹配的過程,繼續(xù)和匹配表中剩下的匹配數(shù)據(jù)進行單個匹配數(shù)據(jù)匹配的過程;若匹配數(shù)據(jù)的前綴字符串中不包含用戶所撥的號碼,結(jié)束和單個匹配數(shù)據(jù)匹配的過程,繼續(xù)和匹配表中剩下的匹配數(shù)據(jù)進行單個匹配數(shù)據(jù)匹配的過程。例如匹配數(shù)據(jù)的前綴為“36”,當用戶所撥的號碼串為“3”時,則用戶所撥號碼串“3”中不包含匹配數(shù)據(jù)的前綴“36”,當用戶所撥的號碼串為“364”時,則用戶所撥號碼串 “364”中包含匹配數(shù)據(jù)的前綴“36” ; 若用戶所撥的號碼串中包含匹配數(shù)據(jù)的前綴字符串,則對用戶所撥號碼串長度和匹配數(shù)據(jù)的號碼長度進行比較。若用戶所撥號碼串長度不等于匹配數(shù)據(jù)的號碼長度,則置臨時匹配結(jié)果為部分匹配,結(jié)束和單個匹配數(shù)據(jù)匹配的過程,繼續(xù)和匹配表中剩下的匹配數(shù)據(jù)進行單個匹配數(shù)據(jù)匹配的過程;若用戶所撥號碼串長度等于匹配數(shù)據(jù)的號碼長度,此時如果臨時匹配結(jié)果為部分匹配,則匹配結(jié)果為既有完全匹配又有部分匹配,匹配結(jié)束;如果臨時匹配結(jié)果為不匹配,則表明用戶所撥被叫號碼已全,匹配結(jié)束。
若和匹配表的所有匹配數(shù)據(jù)項匹配后還不能結(jié)束一次號碼匹配表的匹配過程,則返回臨時匹配結(jié)果,匹配結(jié)束。
進一步地,和匹配表匹配完成后,根據(jù)匹配結(jié)果做不同的處理過程若是完全匹配,則向服務器系統(tǒng)發(fā)起呼叫;若是部分匹配或是不匹配,則等待用戶的下次撥號或是定時器超時;若是既有完全匹配又有部分匹配,則修改號間定時器時長為短時長,等待用戶的下次撥號或是定時器超時。
下面以幾個具有代表性的被叫號碼的收號流程實例來說明本發(fā)明的具體收號過程。以下幾個收號過程中使用的號碼匹配表數(shù)據(jù)總共有四項,用戶配置的數(shù)據(jù)如下表1所示表1用戶配置的號碼匹配表
權(quán)利要求
1.一種IP終端或網(wǎng)關(guān)的收號方法,其特征在于包括如下步驟(一)、配置號碼匹配表;用戶在終端上設置號碼匹配表,該號碼匹配表為二維表結(jié)構(gòu), 包括號碼前綴字符串字段和號碼長度字段;該號碼前綴字符串指一種類型號碼的前面幾位號碼;該號碼長度指包括號碼前綴字符串長度在內(nèi)的一種類型號碼的總長度;(二)、初始化號碼匹配表并存入內(nèi)存;其規(guī)則為,將號碼匹配表配置的數(shù)據(jù)記錄根據(jù)號碼前綴字符串的長度進行降序排序,前綴長度大的配置數(shù)據(jù)記錄放在號碼匹配表的前面,前綴長度小的配置數(shù)據(jù)記錄放在后面;前綴長度相同的配置數(shù)據(jù)記錄按原先的順序存放;(三)、號碼匹配;用戶撥號時,將用戶所撥的被叫號碼依次存入號碼緩沖區(qū),不斷將存入號碼緩沖區(qū)內(nèi)的號碼和內(nèi)存中號碼匹配表的記錄進行匹配,判斷用戶是否撥完被叫號碼,若是則馬上向服務器系統(tǒng)發(fā)起呼叫;否則對于沒有匹配上的或者匹配結(jié)果不唯一的號碼則結(jié)合定時器來完成撥號。
2.如權(quán)利要求1所述的IP終端或網(wǎng)關(guān)的收號方法,其特征在于該號碼匹配的具體過程為步驟(101)、當端系統(tǒng)進入撥號過程中時,設置首位號定時器,清號碼緩沖區(qū);設置號間定時器時長為長時長;步驟(102)、等待用戶撥號,在等待用戶撥號的過程中,若該首位號定時器超時則進入步驟(117);若用戶撥號則進入步驟(103);步驟(103)、設置號間定時器,如果是用戶撥的第一位號碼則停止首位號定時器; 步驟(104)、置臨時匹配結(jié)果為不匹配;步驟(105)、判斷號碼匹配表是否還有未匹配的號碼匹配數(shù)據(jù)記錄;如果還有未匹配的數(shù)據(jù)項或數(shù)據(jù)記錄,則進入步驟(107);否則進入步驟(106);步驟(106)、號碼匹配結(jié)束,結(jié)果為臨時匹配結(jié)果;返回步驟(102)等待用戶撥下一個號碼;步驟(107)、獲取號碼匹配表中順序下一個匹配數(shù)據(jù)項或數(shù)據(jù)記錄; 步驟(108)、判斷在用戶所撥的號碼串中是否包含當前獲取的匹配數(shù)據(jù)記錄的號碼前綴字符串字段的內(nèi)容;如果包含則進入步驟(111);否則進入步驟(109);步驟(109)、判斷當前獲取的匹配數(shù)據(jù)記錄的號碼前綴字符串字段中內(nèi)容是否包含用戶所撥的號碼串;如果包含則進入步驟(110);否則進入步驟(105); 步驟(110)、置臨時匹配結(jié)果為部分匹配,然后進入步驟(105); 步驟(111)、判斷用戶所撥號碼串長度是否等于當前獲取的匹配數(shù)據(jù)記錄的號碼長度字段內(nèi)的長度值;如果長度相等則進入步驟(112);否則進入步驟(110);步驟(112)、判斷臨時匹配結(jié)果屬于什么匹配;如果是不匹配進入步驟(113);如果是部分匹配則進入步驟(114);步驟(113)、置匹配結(jié)果為完全匹配;跳至步驟(115); 步驟(114)、置匹配結(jié)果為既有完全匹配又有部分匹配;步驟(115)、判斷匹配結(jié)果;若是完全匹配則進入步驟(117);若是既有完全匹配又有部分匹配則進入步驟(116);否則為部分匹配或不匹配則進入步驟(102);步驟(116)、修改號間定時器時長為為短時長;重新進入步驟(102);步驟(117)、收號過程結(jié)束;號碼緩沖區(qū)內(nèi)號碼為被叫號碼,向服務器系統(tǒng)發(fā)起呼叫。
3.如權(quán)利要求2所述的IP終端或網(wǎng)關(guān)的收號方法,其特征在于該首位號定時器及該號間定時器為設置在內(nèi)存中由系統(tǒng)時鐘控制的計時單元;所述的首位號定時器用來限定用戶從摘機到撥第一位號碼的時長;設定范圍為5-120秒;所述的號間定時器用來限定用戶連續(xù)撥下一個號碼的時長;該號間定時器根據(jù)匹配結(jié)果可在預先設定的長時長和短時長之間轉(zhuǎn)換;所述的長時長的范圍為4-15秒;所述的短時長的范圍為大于等于1秒且小于4秒的范圍內(nèi)。
4.如權(quán)利要求3所述的IP終端或網(wǎng)關(guān)的收號方法,其特征在于該首位號定時器設定為 15秒;該號間定時器的長時長設定為5秒;該號間定時器的短時長設定為3秒。
5.如權(quán)利要求2所述的IP終端或網(wǎng)關(guān)的收號方法,其特征在于該臨時匹配結(jié)果和該匹配結(jié)果為設置在內(nèi)存中分別用于區(qū)別號碼匹配狀態(tài)的存貯單元;所述的號碼匹配狀態(tài)包括完全匹配、部分匹配、既有完全匹配又有部分匹配和不匹配四種狀態(tài);所述的完全匹配,指用戶所撥的號碼字符串只和匹配表中的一項匹配數(shù)據(jù)記錄有如下關(guān)系,既用戶所撥的號碼字符串包含該匹配數(shù)據(jù)記錄的號碼前綴字符串字段內(nèi)容,且號碼字符串的長度和該匹配數(shù)據(jù)記錄的號碼長度字段值相同;所述的部分匹配,指用戶所撥的號碼字符串和匹配表中的一項或多項匹配數(shù)據(jù)記錄有如下關(guān)系,既用戶所撥的號碼字符串包含所述的一項或多項匹配數(shù)據(jù)記錄的號碼前綴字符串字段內(nèi)容,但是用戶所撥號碼字符串的長度和所述的一項或多項匹配數(shù)據(jù)記錄的號碼長度字段值均不相等;或是所述的一項或多項匹配數(shù)據(jù)記錄的號碼前綴字符串字段中包含用戶所撥號碼字符串但所述的一項或多項匹配數(shù)據(jù)記錄的號碼長度字段值和用戶所撥號碼字符串的長度不相等;所述的既有完全匹配又有部分匹配,指用戶所撥號碼字符串既和匹配表中的一項數(shù)據(jù)記錄符合完全匹配的條件,且用戶所撥號碼字符串也和匹配表中的一項或多項數(shù)據(jù)記錄符合部分匹配的條件;所述的不匹配,指用戶所撥號碼字符串不包含匹配表中任何一條匹配數(shù)據(jù)記錄的號碼前綴字符串字段的內(nèi)容。
6.如權(quán)利要求5所述的IP終端或網(wǎng)關(guān)的收號方法,其特征在于該部分匹配用數(shù)字0表示;該完全匹配用數(shù)字1表示;該既有完全匹配又有部分匹配用數(shù)字2表示;該不匹配用數(shù)字3表示。
全文摘要
本發(fā)明公開了一種IP終端或網(wǎng)關(guān)的收號方法,屬于信息通信技術(shù)的收號技術(shù)中主要涉及IP終端或網(wǎng)關(guān)的的收號方法的技術(shù)領(lǐng)域。包括配置號碼匹配表;初始化號碼匹配表并存入內(nèi)存和號碼匹配三個步驟;當接收到用戶撥打的被叫號碼后,將號碼緩沖區(qū)中用戶所撥號碼與初始化時放入內(nèi)存的號碼匹配表數(shù)據(jù)進行匹配,根據(jù)匹配結(jié)果進行結(jié)束收號過程或返回等待用戶的下次撥號。當結(jié)束收號時端系統(tǒng)直接向服務器系統(tǒng)發(fā)起呼叫。采用本發(fā)明的方法不要求用戶判斷是否撥完被叫號碼,與傳統(tǒng)電話的使用習慣相同,撥完被叫號碼后端系統(tǒng)通過自動判斷就能向服務器系統(tǒng)發(fā)起呼叫,具有簡單方便的優(yōu)點。
文檔編號H04L12/66GK102185985SQ201110032230
公開日2011年9月14日 申請日期2011年1月30日 優(yōu)先權(quán)日2011年1月30日
發(fā)明者王開銀, 李偉明, 吳天勇, 李艷平 申請人:廣東佳和通信技術(shù)有限公司