[go: up one dir, main page]

TW200814679A - Code-based echo cancellation - Google Patents

Code-based echo cancellation Download PDF

Info

Publication number
TW200814679A
TW200814679A TW096121019A TW96121019A TW200814679A TW 200814679 A TW200814679 A TW 200814679A TW 096121019 A TW096121019 A TW 096121019A TW 96121019 A TW96121019 A TW 96121019A TW 200814679 A TW200814679 A TW 200814679A
Authority
TW
Taiwan
Prior art keywords
signal
user
packet
code
server
Prior art date
Application number
TW096121019A
Other languages
Chinese (zh)
Inventor
Derek Wang
Vikas Sharma
Original Assignee
Divitas Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/537,994 external-priority patent/US20070091907A1/en
Priority claimed from US11/755,704 external-priority patent/US7480500B1/en
Priority claimed from US11/755,727 external-priority patent/US20090016333A1/en
Priority claimed from US11/755,702 external-priority patent/US20080140767A1/en
Priority claimed from US11/755,710 external-priority patent/US20080317241A1/en
Application filed by Divitas Networks Inc filed Critical Divitas Networks Inc
Publication of TW200814679A publication Critical patent/TW200814679A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

An apparatus for canceling a signal is disclosed. The apparatus may include an identification code (ID code) generator configured to generate an ID code. The apparatus may also include an ID code injector configured to inject the ID code into at least one of the signal and a processed signal to produce a convolved signal. The processed signal is resulted from a processing of the signal. The apparatus may further include an ID code detector configured to detect at least one of the convolved signal, a transformed signal, and a transformation of the convolved signal. The transformed signal is resulted from the transformation of the convolved signal. The apparatus may further include an arithmetic function configured to remove at least one of the convolved signal and the transformed signal.

Description

200814679 九、發明說明 【發明所屬之技術領域】 本發明是關於以碼爲基的回音消除。 【先前技術】 習知行動通訊平台包括蜂巢式通訊,例如,全球行動 通訊系統(GSM)。其他支援有限行動性的習知平台包括依 據IEEE 802.11標準的WiFi。蜂巢式和WiFi二者眾所皆 知且是已建立的無線通訊平台。 新一代平台被設計成使行動使用者能夠在蜂巢式和 WiFi網路之間移動,並且包括非授權行動存取(UMA)標 準,該標準提供交換控制器給載體,讓使用者能夠超越蜂 巢式和WiFi標準之間,反之亦然。然而,UMA標準具有 包括載體通常控制電話並且決定是否和何時在網路之間交 換使用者等不利點。 需要先進的行動通訊平台提供企業水平的通訊,並且 控制使用者和網路,使得企業(取代載體)能夠依據企業驅 策標準而非載體驅策標準選擇網路及/或電話。 另外,在行動/無線通訊中,通常具有下列問題:(a) 回音;(b)影響服務品質(QoS)的封包延遲、封包延遲變化 (封包跳動)、和封包損失;(〇協定的硬體或軟體平台相依 性;及(d)企業資源存取的安全性。將這些問題說明如 下: (a)回音 200814679 在諸如習知PSTN、會議電話、蜂巢式行動電話、及 網路電話等語音通訊中,已廣泛使用回音消除(EC)技術提 高終端用戶的服務品質(QoS)。通常有兩種回音消除器。 其中一種回音消除器通常稱作線路或網路回音消除器 (LEC)。LEC通常被用於去除由於2線及/或4線轉換發生 的網路上之混合成分的反射所導致之電回音。另一種回音 消除器通常被稱作聲學回音消除器(AEC)。AEC通常被用 於去除由於從揚聲器到免持聽筒揚聲電話上的麥克風、行 動電話、或會議電話之聲學聲音反饋所產生的聲學回音。 與LEC比較,由於下面一些因素導致實施AEC較困難: 因爲音速比光速(或電子速度)慢很多,所以回音尾部較 長,因此回音消除器必須具有更大的處理功率和記憶體; 因爲電話或說話者的移動和環境的變化,所以聲學回音特 性的動態變化較大,因此回音消除器必須更快速追蹤和趕 上回音特性的變化;及由於來自具有不同距離及/或取向 的不同物體之多重反射所導致的多重回音路徑。 目前的聲學回音消除技術通常具有限制。雖然聲學回 音消除技術迄今已經被發明和使用至少40年,然而消除 聲學回音的基本方法並沒有明顯改變。通常,典型 AEC 利用適應型濾波器模型化一或多個回音路徑轉移函數並且 試著產生回音的複製。然後,AEC可從進端輸入信號減掉 此複製以形成大槪最後的無回音遠端信號輸出。 迄今’大部分的聲學回音消除技術發展係利用不同種 類的濾波器,諸如FIR或IIR濾波器、單頻帶或多頻帶濾 200814679 波器、或時域或頻域濾波器等。另外,諸如LMS、 APA等不同演算法已用於提高濾波器效率。儘管如 至憑藉所有這些技術改良,在今日,AEC設計和實 一件非常困難的工作。因爲聲學回音的複雜和變 質,所以習知濾波器在處理聲學回音上呈現許多限 中一限制爲不良的兩端通話(近端和遠端說話者都; 性能。習知濾波器的計算結果是在兩端通話期間以 代回音和複製之間的收斂。 (b)影響服務品質(QoS)的封包延遲、封包延 (封包跳動)、和封包損失 在網路電話和網路視頻通訊中,語音及/或視 內容需要即時從發送器移轉到接收器,然而,基本 路原本設計用於非即時通訊。因此,提供和維持終 的服務品質(QoS)變成是一件非常困難的工作。端 封包延遲、封包延遲變化(封包跳動)、及封包損失 作影響IP網路的語音及視頻通訊之品質和性能的 要Q 〇 S參數。 目前的跳動緩衝技術有限制。又稱作反跳動緩 的跳動緩衝方案通常用於接收器側以補償或消除網 跳動。基本上,方案無法一接收到封包就馬上實施 取而代之的是,方案可以均等間距佇列進來的封包 已佇列封包。實際上,在實施發生之前,封包佇列 入延遲。插入的延遲通常稱作實施延遲。 在目前的跳動緩衝設計和實施上至少有兩問題 RLS、 此,甚 施仍是 化性本 制。其 £說話) 發散取 遲變化 頻媒體 IP網 端用戶 對端的 可被視 三個重 衝方案 路封包 封包。 和實施 表不插 。第一 200814679 個問題係相關於需要插入多少實施延遲。在實施延遲數量 上可有多有少。就大延遲而言,封包損失較少。另一方 面,就小延遲而言,互動感覺較佳。可由適應性跳動緩衝 計畫合宜地解決第一個問題。在適應性跳動緩衝計畫中, 接收器可依據進來封包的RTP標頭之時間戳記和接收器 本地時間估算網路封包跳動。然後,接收器插入剛好足夠 補償網路封包跳動用的最小延遲。 跳動緩衝設計的第二個問題係相關於何時插入實施延 遲。理想上,可在各個說話乍現的一開始插入實施延遲。 因此,雖然可在均等間距實施各個說話乍現,但是只有說 話乍現之間的無聲期間被擴大或壓縮。例如,若發送器利 用無聲抑制技術,則進入到接收器的封包理想上具有說話 乍現之間的間距,使得裝置可實施成依據進來封包的RTP 標頭之時間戳記和順序號碼加以辨識各個說話乍現的一開 始。 然而,事實上,只有在有限情況下可達成在說話乍現 一開始插入延遲。大部分目前的無聲抑制技術具有限制並 且只在諸如單一說話者或低背景雜訊等一些純粹情況下能 夠執行良好。目前的無聲抑制技術在諸如會議中的多個說 話者或諸如行動通訊等高背景雜訊等一些其他情況下就無 法執行良好。因此,爲了保留較好的聲頻品質,許多應用 在未利用或致動無聲抑制就執行。結果,進入到接收器中 的封包可以是連續的而無任何中斷。時間戳記和順序號碼 上沒有任何線索可得知是否封包表示無聲或說話乍現。假 -8- 200814679 設沒有辨識無聲的線索,則目前的跳動緩衝技術執行很 差。不良的性能原因之一即目前的跳動緩衝設計通常只看 進來封包的RTP標頭資訊,而不看RTP酬載上的內容。 (c) 協定的硬體或軟體平台相依性 硬體或軟體平台相依性會產生可交互運作性及/或組 態問題。就包含諸如視頻、聲頻、聊天、遊戲、或虛擬實 境等多媒體元素之通訊中的互動使用者對話而言,需要有 諸如例如能夠在伺服器和用戶之間有效傳送資訊並且能夠 獨立於硬體和軟體平台之外運作的對話啓動協定(SIP)等 通訊協定之輕量協定,在伺服器和用戶之間所使用的控制 平面協定,及伺服器和用戶通訊的基本傳送層或媒體。有 需要足夠快到支援緊急即時控制訊息及對具有最小延遲的 大體積資料移轉而言足夠彈性之協定。然而,諸如UMA 等習知技術協定通常是複雜的且難以建立可交互運作性。 (d) 當從行動裝置存取企業資源時的安全性 越來越多的企業允許它們的員工能夠使用自己的蜂巢 式/行動電話做生意。憑藉可利用諸如 WiFi、Edge、 UMTS、CDMAEVDO等高速網路到行動電話,不同販售商 已實施VoIP (網路電話)到行動電話。此種實施需要開放的 企業防火牆,使得諸如SIP、RTP等VoIP相關協定能夠 操作。 除了 VoIP之外,也可將其他企業資料中心應用延伸 到行動電話。這些應用程式可包括一或多個Presence/ Instant Messaging(出席/即時訊息)、企業內部網路網頁資 200814679 源、CRM、Supp〇rt database(支援資料庫)等。 行動電話爲一或多個上述應用程式直接存取企 企業防火牆需要爲多個協定打開,而開放的立 能產生安全性問題。 【發明內容】 在一實施例中,本發明係相關於消除信號 置包括辨識碼(ID碼)產生器,其被組配成產召 置亦包括ID碼注入器,其被組配成將ID碼3 經處理信號的至少一者以產生迴旋信號。經處 信號的處理所產生。裝置另外包括ID碼偵沏 配成偵測迴旋信號、變換信號、和迴旋信號之 一者。變換信號係由迴旋信號的變換所產生。 括算術函數,其被組配成去除迴旋信號和變 一者。 上述摘要係只相關於此處所揭示的本發 例的其中之一或多個,並不用於限制本發明 明的範圍將在本文的申請專利範圍中陳述。 下面圖式將在本發明的詳細說明中更加詳細 這些和其他特徵。 【實施方式】 目錄 架構 若用戶利用 業資源,則 業防火牆可 之裝置。裝 ID碼。裝 入到信號和 理信號係由 器,其被組 變換的至少 裝置另外包 信號的至少 之許多實施 範圍,本發 文中,連同 明本發明的 -10- 200814679 B. 以編碼/解碼器爲基的聲學回音消除 C. 透過IP的語音/視頻通訊之以內容爲基的跳動緩衝 設計 D·戴維他(Divitas)描述協定(DDP) E·戴維他(Divitas)協定代理(DPP) H.結論 現在將參考如附圖所圖解說明的一些較佳實施例詳細 說明本發明。在下面說明中,爲了能夠全面性瞭解本發明 陳述許多特定細節。然而,精於本技藝之人士應明白在沒 有一些或全部這些特定細節之下仍可實施本發明。在其他 例子中’爲了不混淆本發明將不詳細說明眾所皆知的處理 步驟及/或結構。參考圖式和下面討論將可更加明白本發 明的特徵和優點。 可參考特定設備和實施例說明本發明。精於本技藝之 人士將明白說明僅用於圖解說明和提供實施本發明的最佳 模式。而不應解釋作限制本發明的範圍。例如,儘管參考 特定通訊協定,但是本發明也考慮到其他協定。例如,儘 管說明WiFi(IEEE 802.1 1 )當作無線通訊的協定,但是本 發明也可實施其他協定。此處對Divitas和行動性伺服器 所做的參考是相等的。 下面說明各種實施例,包括方法和技術。應注意本發 明也涵蓋製造的物體,其包括儲存完成本發明的實施例之 電腦可讀式指令的電腦可讀式媒體。電腦可讀式媒體包括 例如用以儲存電腦可讀碼之半導體、磁性、光磁、光學、 -11 - 200814679 或其他形式的電腦可讀式媒體。另外,本發明也涵蓋用以 實施本發明的實施例之設備。此種設備包括完成有關本發 明的實施例之操作的電路(專屬及/或可程式化)。此種設備 的例子包括當適當程式化時的萬用型電腦及/或專屬計算 裝置,並且包括用於有關本發明的實施例之各種操作的電 腦/計算裝置與專屬/可程式化電路之組合。 A·架構 圖1爲根據本發明的實施例之系統網路1 00圖。設置 利用許多可能方式與網路通訊之行動配備(ME) 102。ME 102 可與包括基地收發站(BTS)112、BTS 交換中心 (BSC)U4、及行動交換中心(MSC)116的蜂巢式網路110 通訊。耦合MSC到耦合到公用交換電話網路(PSTN) 122 的媒體閘道器1 20。其他習知公用和專用電話1 24也被耦 合到PSTN。將PBX 130耦合到PSTN,及例如透過電話 1 3 6爲企業打電話和接電話。將行動性伺服器〗5 〇耦合到 p B X與其他網路。例如,透過路由器1 3 2將行動性伺服器 1 5 0耦(合到網際網路協定廣域網路(w A N) 1 3 8。也透過路 由器1 40和防火牆1 42將行動性伺服器1 50耦合到網際網 路1 44。雖然本發明也預想到多個存取點,但是本處只描 繪一存取點。存取點1 60使具有ME 1 02的使用者能夠在 企業中漫遊並且經由行動性伺服器150和ΡΒχ 130與 PSTN維持連接。若使用者漫遊超出LAN的邊界,則如下 面將詳細說明一般,使用者將連接到另一網路(如、蜂巢 式網路)。另外又描繪耦合到網際網路存取點i 8 〇,其用 12- 200814679 於如本文所說明的特定條件之下的存取° 圖2 A-C爲根據本發明的實施例之行動性伺服器。 安全性管理器-當兩或更多時體正通訊時的安全性定 義包含以下方面: 1.通訊實體的相互認證 2 .通訊通道的隱私權 3 .交換訊息的完整性 4 .訊息的認證 在Divitas行動性情況中,具有三個明確的通訊實 體:Divitas用戶、Divitas伺服器、及外部VoIP GW。並 且在這些實體之間具有兩清楚的路徑類型:SIP發信路徑 和媒體路徑。 如架構說明書[1 ]所說明一般,下面機構被用於達成 用戶、伺服器、及外部閘道器之間的發信和資料路徑之上 述安全性方面: 1. 用戶和伺服器之間的SIP TLS對話。 2. 在SIP TLS建立之後使用SIP通知的用戶認證 3 .利用伺服器的使用者之認證 4. 伺服器和外部VoIP閘道器之間的SIP TLS對話。 5. 利用外部VoIP閘道器的伺服器認證 6 .安全媒體路徑 7.衍生的需求 使用者/裝置管理器/行動性控制器-裝置和行動性管理 器(特此稱作DMM)是在裝置上有進行中的電話同時處理 -13- 200814679 裝置組態和狀態與行動性方面之模組。下面各段落記錄 DMM之功能和設計規格與DMM支援的公用介面。 1 .企業管理人所控制的裝置組態。 2. 裝置的報告狀態 3 .裝置的影像管理 4.爲有進行中的電話之手機維持和實施行動性邏輯-即處理WiFi到Cell (蜂巢式)和反之亦然的傳訊。 5 ·處理裝置初始化和來自用戶的組態請求。 控制平面/電話控制-電話控制(CC)是負責下面功能的 主要控制平面模組:200814679 IX. Description of the Invention [Technical Field of the Invention] The present invention relates to code-based echo cancellation. [Prior Art] The conventional mobile communication platform includes cellular communication, for example, Global System for Mobile Communications (GSM). Other well-known platforms that support limited mobility include WiFi according to the IEEE 802.11 standard. Both cellular and WiFi are well known and are established wireless communication platforms. The next-generation platform is designed to enable mobile users to move between cellular and WiFi networks and includes the Unlicensed Mobile Access (UMA) standard, which provides a switch controller to the carrier, allowing users to move beyond the cellular Between the WiFi standard and vice versa. However, the UMA standard has disadvantages including the carrier typically controlling the phone and deciding whether and when to exchange users between the networks. Advanced mobile communication platforms are needed to provide enterprise-level communications, and to control users and the network, enabling enterprises (instead of carriers) to select networks and/or phones based on corporate drive standards rather than carrier-driven standards. In addition, in mobile/wireless communication, there are usually the following problems: (a) echo; (b) packet delay affecting quality of service (QoS), packet delay variation (packet jitter), and packet loss; Or software platform dependencies; and (d) security of enterprise resource access. These issues are described as follows: (a) Echo 200814679 in voice communications such as the PSTN, conference phones, cellular phones, and VoIP Among them, echo cancellation (EC) technology has been widely used to improve the quality of service (QoS) of end users. There are usually two types of echo cancellers. One of the echo cancellers is usually called line or network echo canceller (LEC). LEC usually It is used to remove the electrical echo caused by the reflection of the mixed components on the network due to 2-wire and/or 4-wire conversion. Another echo canceller is often called the Acoustic Echo Canceller (AEC). AEC is usually used Remove the acoustic echo due to acoustic feedback from the speaker to the microphone, mobile phone, or conference phone on the speakerphone speakerphone. Compared with LEC, due to Some factors make it difficult to implement AEC: Because the speed of sound is much slower than the speed of light (or electron velocity), the echo tail is longer, so the echo canceller must have more processing power and memory; because of the phone or speaker movement and environment Changes, so the dynamics of the acoustic echo characteristics vary greatly, so the echo canceller must track and catch up with changes in echo characteristics more quickly; and multiple echoes due to multiple reflections from different objects with different distances and/or orientations Paths. Current acoustic echo cancellation techniques are often limited. Although acoustic echo cancellation techniques have been invented and used for at least 40 years, the basic methods for eliminating acoustic echo have not changed significantly. Typically, typical AECs are modeled using adaptive filters. One or more echo path transfer functions and attempting to produce a copy of the echo. The AEC can then subtract this copy from the incoming input signal to form the final anecho-free far-end signal output. To date, most of the acoustic echo cancellation Technology development uses different types of filters, Such as FIR or IIR filters, single-band or multi-band filter 200814679, or time domain or frequency domain filters, etc. In addition, different algorithms such as LMS, APA have been used to improve filter efficiency. These technical improvements, today, AEC design and real work is very difficult. Because of the complexity and deterioration of acoustic echo, the conventional filter presents a number of limits on the processing of acoustic echoes. Both the end and the far-end speaker; performance. The calculation result of the conventional filter is to converge between echo and copy during the two-end call. (b) Packet delay and packet delay (packet extension) affecting quality of service (QoS) Bounce, and packet loss In VoIP and network video communications, voice and/or video content needs to be instantly moved from the sender to the receiver. However, the basic path was originally designed for non-instant messaging. Therefore, providing and maintaining the ultimate quality of service (QoS) becomes a very difficult task. End packet delay, packet delay variation (packet jitter), and packet loss Q 〇 S parameters that affect the quality and performance of voice and video communications over IP networks. The current bounce buffering technique has limitations. A bounce buffering scheme, also known as debounce, is typically used on the receiver side to compensate or eliminate net bounce. Basically, the solution cannot be implemented as soon as the packet is received. Instead, the packets that can be queued at equal intervals are queued. In fact, the packet is listed as a delay before the implementation takes place. The delay of insertion is often referred to as the implementation delay. There are at least two problems with the current design and implementation of the bounce buffer. RLS, this is still the standard. Its £ talk) divergence takes late change frequency media IP network end user peer can be seen as three heavy-duty scheme road packet packet. And the implementation table is not inserted. The first 200814679 questions were related to how many implementation delays need to be inserted. There can be more or less implementation delays. In the case of large delays, packet loss is less. On the other hand, in terms of small delays, the interaction feels better. The first problem can be solved expediently by an adaptive jitter buffering scheme. In an adaptive jitter buffering scheme, the receiver can estimate the network packet jitter based on the timestamp of the incoming RTP header and the receiver local time. The receiver then inserts a minimum delay just enough to compensate for network packet bounce. The second problem with the bounce buffer design is related to when the insertion delay is inserted. Ideally, an implementation delay can be inserted at the beginning of each speech. Therefore, although it is possible to implement each speech at equal intervals, only the silent period between the speeches is expanded or compressed. For example, if the transmitter utilizes a silent suppression technique, the packet entering the receiver desirably has a spacing between speeches, such that the device can be implemented to recognize each speech based on the timestamp and sequence number of the RTP header of the incoming packet. The beginning of the present. However, in fact, only in limited circumstances can the insertion delay be reached at the beginning of the speech. Most current silent suppression techniques have limitations and can only perform well in pure cases such as a single speaker or low background noise. Current silent suppression techniques are not well performed in a number of other situations, such as multiple speakers in a conference or high background noise such as mobile communications. Therefore, in order to preserve better audio quality, many applications are performed without utilizing or actuating silent suppression. As a result, the packets entering the receiver can be continuous without any interruption. There are no clues on the timestamp and sequence number to see if the packet indicates silence or speech. False -8- 200814679 With no clues to identify silent, the current jitter buffering technique performs poorly. One of the reasons for poor performance is that the current jitter buffer design usually only looks at the RTP header information of the packet, not the content on the RTP payload. (c) Hardware or software platform dependencies of the agreement Hardware or software platform dependencies can create interoperability and/or configuration issues. For interactive user conversations in communications involving multimedia elements such as video, audio, chat, games, or virtual reality, there is a need, for example, to be able to effectively communicate information between the server and the user and to be independent of the hardware. A lightweight protocol for communication protocols such as the Session Initiation Protocol (SIP) operating outside the software platform, a control plane protocol used between the server and the user, and a basic transport layer or medium for server and user communication. There is a need for an agreement that is fast enough to support emergency immediate control messages and is flexible enough for bulk data transfer with minimal delay. However, conventional technology agreements such as UMA are often complex and difficult to establish interoperability. (d) Security when accessing corporate resources from mobile devices More and more companies are allowing their employees to use their own cellular/mobile phones to do business. With high-speed networks such as WiFi, Edge, UMTS, CDMAEVDO, and mobile phones, different vendors have implemented VoIP (Internet Telephony) to mobile phones. Such implementation requires an open enterprise firewall that enables VoIP-related protocols such as SIP and RTP to operate. In addition to VoIP, other enterprise data center applications can be extended to mobile phones. These applications can include one or more Presence/Audio Messaging, intranet web resources, 200814679 source, CRM, Supp〇rt database, and more. A mobile phone that directly accesses an enterprise firewall for one or more of the above applications needs to be opened for multiple protocols, and an open identity can create security issues. SUMMARY OF THE INVENTION In one embodiment, the present invention relates to an erase signal including an identification code (ID code) generator that is assembled into a production call and also includes an ID code injector that is grouped into an ID. Code 3 processes at least one of the signals to produce a whirling signal. Produced by the processing of signals. The apparatus additionally includes an ID code detection configured to detect one of a whirling signal, a transform signal, and a whirling signal. The transformed signal is produced by the transformation of the whirling signal. Arithmetic functions are included which are combined to remove the whirling signal and become a one. The above summary is only one or more of the examples disclosed herein, and is not intended to limit the scope of the invention. The following figures will be described in more detail in the detailed description of the invention. [Embodiment] Directory Architecture If the user utilizes the industry resources, the firewall can be installed. Install the ID code. At least a plurality of implementation ranges of the signal and the signal signal generator, which are group-transformed, at least the device additionally packets, in the present document, together with the invention of the present invention-10-200814679 B. Based on the encoder/decoder Acoustic Echo Cancellation C. Content-Based Bounce Buffer Design for IP Voice/Video Communications D. Divitas Description Protocol (DDP) E. Divitas Protocol Agent (DPP) H. Conclusion The invention will now be described in detail with reference to a preferred embodiment illustrated in the accompanying drawings. In the following description, numerous specific details are set forth. However, it will be apparent to those skilled in the art that the present invention may be practiced without some or all of these specific details. In other instances, well known processes and/or structures are not described in detail in order not to obscure the invention. The features and advantages of the present invention will become more apparent from the understanding of the appended claims. The invention may be described with reference to particular apparatus and examples. Those skilled in the art will understand that the description is only illustrative and provides the best mode for practicing the invention. It should not be construed as limiting the scope of the invention. For example, although reference is made to a particular communication protocol, the present invention contemplates other agreements. For example, although WiFi (IEEE 802.1 1 ) is described as a protocol for wireless communication, other protocols may be implemented by the present invention. The references to Divitas and the Mobility Server are equal here. Various embodiments are described below, including methods and techniques. It should be noted that the present invention also encompasses manufactured objects including computer readable media storing computer readable instructions for performing embodiments of the present invention. Computer readable media includes, for example, semiconductor, magnetic, magneto-optical, optical, -11 - 200814679 or other forms of computer readable media for storing computer readable codes. In addition, the present invention also encompasses an apparatus for carrying out embodiments of the present invention. Such apparatus includes circuitry (exclusive and/or programmable) that performs the operations of the embodiments of the present invention. Examples of such devices include versatile computers and/or proprietary computing devices when properly programmed, and include combinations of computer/computing devices and proprietary/programmable circuits for various operations related to embodiments of the present invention. . A. Architecture Figure 1 is a diagram of a system network 100 in accordance with an embodiment of the present invention. Setup Mobile Device (ME) 102 that communicates with the network in many possible ways. The ME 102 can communicate with a cellular network 110 that includes a base transceiver station (BTS) 112, a BTS switching center (BSC) U4, and a mobile switching center (MSC) 116. The MSC is coupled to a media gateway 110 coupled to a public switched telephone network (PSTN) 122. Other conventional public and private telephones 1 24 are also coupled to the PSTN. The PBX 130 is coupled to the PSTN and, for example, calls and picks up the phone over the telephone 136. Couple the mobility server 55 p to p B X and other networks. For example, the mobility server 150 is coupled to the Internet Protocol Wide Area Network (W AN) through the router 1 32. The mobility server 150 is also coupled through the router 140 and the firewall 1 42. To the Internet 1 44. Although the present invention also contemplates multiple access points, only one access point is depicted herein. The access point 160 enables a user with ME 102 to roam in the enterprise and via action The sexual server 150 and the ΡΒχ 130 maintain a connection with the PSTN. If the user roams beyond the boundaries of the LAN, as will be described in more detail below, the user will connect to another network (eg, a cellular network). Coupled to an internet access point i 8 〇, which uses 12-200814679 for access under certain conditions as described herein. Figure 2 AC is an active server in accordance with an embodiment of the present invention. Security Management - The security definition when two or more bodies are communicating includes the following aspects: 1. Mutual authentication of the communication entity 2. Privacy of the communication channel 3. Integrity of the exchange message 4. Authentication of the message in Divitas mobility In the case, there are three Definite communication entities: Divitas users, Divitas servers, and external VoIP GWs. There are two clear path types between these entities: SIP signaling path and media path. As explained in the Architecture Manual [1], the following organizations The above security aspects used to achieve the signaling and data paths between the user, the server, and the external gateway: 1. SIP TLS session between the user and the server 2. Use SIP notification after SIP TLS is established User authentication 3. Authentication by the user of the server 4. SIP TLS session between the server and the external VoIP gateway 5. Server authentication using external VoIP gateway 6. Secure media path 7. Derived Demand User/Device Manager/Action Controller-Device and Mobility Manager (herein referred to as DMM) is an ongoing call on the device for simultaneous processing-13-200814679 Device configuration and status and mobility aspects Modules. The following paragraphs record the functions and design specifications of the DMM and the common interface supported by the DMM. 1. The device configuration controlled by the enterprise manager. 2. The reporting status of the device 3. The device's Like Management 4. Maintain and implement mobile logic for mobile phones with ongoing calls - ie, handle WiFi to Cell (and cellular) and vice versa. 5 · Process device initialization and configuration requests from the user. /Telephone Control - Telephone Control (CC) is the main control plane module responsible for the following functions:

1.網路語苜電話處理 2.SIP代理伺服器和B2BUA 3. 經由 PSTN GWs 的 PSTN Call 管理 4. 經由Asterisk的PBX特徵管理 5 .資源和連接管理 電話控制模組駐在DN媒體交換器上。電話控制模組 與SIP堆疊和Asterisk(或任何其他)PBX接合以提供上述 功能。 1.SIP 堆疊(用於 UA, CCM,及 Asterisk 等):SIP 堆疊 主要被使用當作協定訊息解碼/編碼引擎。SIP堆疊又執行 基本的協定指定工作,諸如以標準爲基的訊息剖析和驗 證、重傳、專屬訊息驗證等。就大部分代理和B2BUA工 作而言,SIP堆疊依賴CC作決定。CC與Asterisk和CC 與C CM之間的互動係經由以標準爲基的SIP訊息。 -14- 200814679 2. 代理引擎/組態管理器(PA/CM):代理引擎充作用於 所有應用程式的組態管理器。在供應時或系統啓動後讀取 碟DB之後,以PA下載電話控制相關資訊。CC將資料儲 存在RAM做爲本地/較快速存取用。CC又更新任何動態 資訊的P A(如、電話進行中或中斷),或需要資訊(如、 SNMP GET)。 3. 資源管理器(RM):資源管理器提供實體/網路資源 的邏輯圖。這些資源包括 GE埠、DSP資源、插座、 UDP/TCP埠等,但不包括系統資源,諸如記憶體、資料 緩衝器、計時器、佇列等。資源不包括用於內部IPC通訊 的插座。CC使用RM作爲資源CAC、資源保留和通訊 用。當作通訊的一部分,RM告訴媒體交換器程式化硬體 以使媒體能夠流動。 媒體交換應用程式(MSA)-MSA將被設計成部分在 Linux上而剩下的在TMS3 20DM64x DSP處理器上執行。 應用程式將執行下面功能: RTP封包處理。 交換。 代碼轉換。 會議電話。 適應性跳動緩衝。 封包損失隱藏。 包括VAD/CNG和AGC的後處理。 MSA軟體需要支援不同說話編碼/解碼器之編碼/解 -15- 200814679 碼。可在執行期間改變演算法和通道的類型,即需要支援 多通道、多演算法的設計。各個編碼/解碼器演算法需要 是可重入碼的,及程式與資料需要完全可釋放的。爲了支 援各種編碼/解碼器,需將下面列入考慮: a·因爲DSP在晶片資料記憶體上有限制,所以在多通 道、多演算法應用程式中並非所有資料都能夠一直置放晶 片上。此需要在內文交換期間可重新改變(在晶片上和晶 片外記憶體之間)各個演算法中所有資料(內文和表格)的 位置。此需要找出各個支援的編碼/解碼器之記憶體、堆 疊尺寸、與MIPS需求。 b.交換指出通道數目與編碼/解碼器類型和任何其他 特徵的主機和DSP之間的訊息之機構。通道組態管理器 需要打開指出所需的功能類型之DSP的通道。必須實施 指出DSP狀態的週期性訊息。 DSP處理器使外部主機能夠存取DSP外部記憶體。 DSP具有1 6千位元組的第一階程式和資料記憶體。程式 與資料記憶體共用256k位元組的第二階記憶體。可利用 16百萬位元組外部記憶體(SDRAM)。兩處理器之間的共 用記憶體儲存進來與出去的RTP資料。因爲DSP需要支 援N通道數量,所以此記憶體將包含每一個長度3 20位 元組的N接收與傳送緩衝(就視頻而言’這些緩衝需要是 1 5 0 0位元組的)。用於主機和D S P之間的資訊與每一通電 話爲基礎所需的資訊之資料結構需要被定義。下面步驟定 義DSP功能: -16- 200814679 a. 在啓動中,一旦將軟體下載到DSP(將藉由在固定 記憶體位置寫入預定値以使DSP指出相同者,藉以指出 下載軟體的主機)。 b. 在成功下載軟體時,DSP將執行內部計時器10 msec。此時,DSP輪詢通道狀態以改變成處理,此處理係 一旦封包到達藉由主機所設定。 c. 將指出編碼/解碼器類型、資料就緒、與電話類型 (最初只有語音)之來自主機的開始電話或打開通道命令發 送至RX與TX方向。 d. 依據所打開的通道,DSP從外部緩衝器取得RTP資 料並且對這些執行DSP相關功能。 e. 在TX側上,DSP將編碼資料置放於外部緩衝器 上,讓TX能夠取得。 圖3爲根據本發明的實施例之行動配備用戶圖。 在與Divitas伺服器相容的手機上執行用戶軟體或手 機軟體。典型上,這些是具有提供蜂巢式網路(CDMA或 GSM)的電話連接與LAN網路(有線LAN或無線LAN)的 IP連接之雙模式手機。 也可爲具有麥克風和揚聲器的桌上型/膝上型或PDAs 編譯軟體來當作軟體電話。 使用者介面 用戶使用者介面提供下面功能: •設置開機組態-DNS IP位址、Divitas伺服器URL、 開機使用者狀態(INVISIBLE/AVAILABLE)、安全設定 -17- 200814679 •改變使用者狀態(INVISIBLE/AVAILABLE) •增加企業”buddies”(夥伴)和取得他們的出席資訊 (INVISIBLE/AVAILABLE/CALL-IN-PROGRESS) •企業”buddies”(夥伴)的顯示可利用性狀態並且連接 到他們 •共有企業電話特徵的使用者介面 • 電話撥打 • 電話接聽 • 話中插接 • 指定轉接 • 電話轉接 • 多方會議電話 • 語音郵件通知 • 未接電話通知 • 已接電話通知 • 待接電話通知 • 號碼查詢和利用名字撥號 •使用蜂巢式網路取代WiFi網路的手動控制裝置 •顯不器版本失配 •升級請求/狀態 •失能/禁止用戶軟體一ISP應用程式被用於撥打/接收 蜂巢式電話 電話控制和語音 •在LAN介面上撥打VoIP電話之電話控制 -18- 200814679 •在LAN介面上撥打VoIP電話之語音引擎一包括編 碼/解碼器、回音消除、跳動控制、錯誤隱藏 •從蜂巢式電話到VoIP電話的電話傳訊 •從VoIP電話到蜂巢式電話的電話傳訊 802.11 •決定可利用哪一個ip網路和它們的信號強度和傳遞 那資訊給伺服器 • AP用戶 • 8 02.1 1迷你連接埠的功率管理一每當802.1 1的信號 強度低於可接受的臨界時,以罕見的間隔使網路進入睡眠 狀態並且輪詢網路以節省功率 •若電話在進行中,則將信號強度和語音品質資訊包 裝成RTCP封包,或若電話不在進行中,則保持持續有效 以通訊到伺服器。每當信號強度降至可接受的臨界下或語 音品質退化時,伺服器將決定從VoIP交換電話到蜂巢式 網路。 平台 因爲市面上有許多手機販售商且提供雙模式手機,所 以軟體需要被設計成大部分的碼能在手機之間共用。因 此,必須將碼分成平台依賴部分和平台獨立部分。事實 上’幾乎所有的Divitas核心値都應在軟體的平台獨立部 分,如此可容易從一平台攜帶到另一平台。平台依賴部分 應只有功能適應層(尤其是,電話、LAN、802.11、聲頻和 顯示適應層)。每當將碼轉移到新平台時’在提供統一 -19- 200814679 API給平台獨立部分的同時,只需要修正和重寫這些適應 層。 將於多個手機平台上執行用戶軟體。最普遍的手機平 台是 Windows CE、Symbian、及 Linux。 除了雙模式手機之外,用戶應用程式被設計成在不具 有蜂巢式電話介面的802.11電話、PDA、或膝上型/桌上 型電腦上運作。在這些平台上,可利用一子組特徵到使用 者。基本上,從VoIP到蜂巢式的電話傳訊是不可能的。 操作理論 在起動時,用戶應用程式尋找手機上可利用的資源。 用戶應用程式首先檢查有線網路的存在。若不存在,則用 戶應用程式檢查8 02.1 1網路的存在。視企業安全政策進 行有線或無線媒體認證。手機用戶應支援企業所利用的安 全機構。最普遍的安全機構是WPA( WiFi受保護存取)。 一旦成功進行認證,則無線用戶取得使用DHCP的IP介 面之IP位址。 應用程式從持續性資料庫取得Divitas伺服器URL和 D N S IP位址,並且嘗試向D i v i t a s伺服器註冊。 可在企業網路內部的手機上執行應用程式用戶。在那 時,用戶可到達Divitas伺服器卻不需要任何其他安全覆 蓋層。在用戶示在公共網路時(例如具有WiFi網際網路存 取的咖啡廳或機場),典型上使用者設定VPN連接到企 業。用戶只有在VPN通道建立之後才可到達Divitas伺服 器。 -20- 200814679 用戶應用程式軟體藉由發送加密數位簽證(企業IT所 安裝)給伺服器向伺服器認證手機。一旦認證手機,則用 戶取得來自使用者或儲存在手機中的登入/密碼,將登入/ 密碼加密並且將經加密登入/密碼發送到伺服器作爲使用 者認證。當成功認證時,伺服器藉由發送企業電話號碼加 以回答。在回答時’用戶發送蜂巢式電話號碼到伺服器。 伺服器爲所有未來的傳訊方案結合該二者。 使用用於發信的SIP/TLS和用於媒體流的SRTP以確 保發信和媒體流。然而,若使用者是在VPN鏈路上,則 用戶不需要添加另一位準的加密。添加另一位準的加密會 導致語音品質降低。在那例子中,SIP被用於發信而 RTP/RTCP被用於媒體流。 每當用戶恢復與伺服器的網路連接性時重複上述處 理。 恆穩態操作 藉由在GUI上組配並且在持續性資料庫中保存那組 態,使用者可在起動時選擇INVISIBLE或AVAILABLE (看不見/可利用)。用戶對伺服器更新使用者出席資訊。 使用者亦可經常輸入企業內所謂的伙伴,並且在手機 上的持續性資料庫中保存那組態。無論它們是 INVISIBLE、AVAILABLE、或 C A L L - IN - P R Ο G R E S S (電話 中),用戶取得這些伙伴的出席資訊(巨量)。當事件發生 時,伺服器對用戶更新這些伙伴的出席資訊。 每當不在電話中時,用戶和伺服器週期性交換持續有 -21 - 200814679 效。 用戶週期性發送網路狀態到伺服器。若用戶示在 802.1 1無線網路上,用戶發送SSID、相關存取點(AP)的 信號強度和頻寬給伺服器。若在電話中,用戶發送S S ID 當作頻帶中的RTCP封包之一部分。若不在電話中,則用 戶發送頻帶外的持續有效訊息。 每當從用戶到伺服器可利用到網路對話時,對用戶之 撥打和接收電話的較佳模式是在網路介面上。然而,使用 者可選擇無視較佳模式的存在,在蜂巢式網路上撥打出去 的電話。此選擇不傳遞到伺服器且不影響進來的電話。此 選擇亦不儲存在持續性資料庫中。使用者必須在使用者撥 打出去的電話時都明確地作選擇。 每當從用戶到伺服器無法利用到網路對話,則撥打電 話焊接電話的唯一方式是在蜂巢式介面上。使用者不具有 到所有企業特徵的存取。無論用戶軟體是否只提供一子組 服務供應商特徵,使用者可使用用戶軟體UI撥打和接收 電話。爲了使用蜂巢式服務供應商網路的所有特徵,使用 者必須終止(或禁止)用戶軟體並且使用蜂巢式服務供應商 撥接應用程式。若服務供應商應用程式正被用於撥打和接 電話,則在下面3.4.2段中所說明的傳訊將不可能。 只要用戶具有已建立到伺服器的對話,則使用者就具 有到所有企業特徵的存取。用戶GUI被用於提供到這些 企業特徵的存取給使用者。 語音 -22- 200814679 SIP發信被用於建立用戶和伺服器之間的語音電話。 將來自聲頻接收器的語音編碼成GIPS語音引擎(VE)所支 援的編碼/解碼器之一,將被封裝成RTP封包,若需要的 話被加密,並且在IP介面上被發送到伺服器。同樣地, 若需要的話,解密從伺服器接收的RTP,使用編碼/解碼 器之一解碼並且實施。由接收側上的GIPS VE進行速度 解碼、跳動控制、及錯誤隱藏。 除了加密/解密、速度的編碼/解碼之外,GIPS語音引 擎還執行錯誤隱藏、跳動控制、適應性封包緩衝、聲學回 音消除和抑制、雜訊消除和抑制、自動增益控制、語音活 動偵測、舒適雜訊產生。 漫遊 不像可攜式膝上型電腦一般,手機用戶是行動性裝 置。 WLAN內的傳訊 當使用者是在具有電話交談的802.11網路中且行走 於建築物之間時,AP傳訊可能發生,即、除了手機先前 結合的 AP之外,使用者的手機現在還與不同的 AP結 合。若傳訊在同一子網路或到另一子網路,則不需要IP 位址變化就可發生AP傳訊,在該例子中,手機的IP位址 改變。若IP位址改變,則用戶需要再次向伺服器註冊。 在同時,已建立的電話使用舊的流動資訊繼續流動,直到 語音引擎(VE)被通知新的IP位址。 當無線用戶使用802· IX認證時,在無線用戶按無線 -23- 200814679 存取點(AP)之間有一連串訊息發送以交換證書。此訊息交 換引起連接處理時的延遲。當無線用戶從一無線AP漫遊 到另一無線AP時,執行8 02· IX認證的延遲可能導致網 路連接的明顯中斷’尤其是諸如以語音或視頻爲基的資料 流等時間相依流量而言。爲了最小化與漫遊到另一無線 AP相關聯的延遲,無線設備可支援PMK快取和預先認 證。 PMK快取 當無線用戶從一無線AP漫遊到另一無線AP時,無 線用戶必須執行與各個無線 AP的全面802. IX認證。 WPA使無線用戶和無線AP能夠快取全面802. IX認證的 結果,以便若用戶漫遊回到無線用戶先前已認證的無線 AP,則無線用戶只需要執行4方交握且決定新的配對過 渡鑰匙。在相關請求圖框中,無線用戶包括在最初認證期 間所決定且儲存有無線用戶按無線AP的PMK快取條目 之PMK識別符號。如在無線用戶和無線AP上組配一 般,將PMK快取條目儲存一段有限時間量。 爲了使使用充作802.1 X認證器的開關之無線網路基 礎建設的過渡更快,WPA/WPS IE Update計算PMK識別 符號値’使得當在附加到同一開關的無線AP之間漫遊 時,重新使用如與開關802. IX認證所決定的PMK。此實 施被視作投機取巧的Ρ Μ K快取。 預先認證 憑藉預先認證,在連接到其目前的無線ΑΡ同時, -24 - 200814679 WPA無線用戶可隨意與其範圍內的其他無線AP執行 8 02· IX認證。無線用戶透過其現存的無線連接將預先認 證流量發送到額外的無線AP。在與無線AP預先認證且 在PMK快取記憶體中儲存PMK和其相關資訊之後,連接 到無線用戶已預先認證的無線AP之無線用戶只需要執行 4方交握。 支援預先認證的WPA用戶可只與公布其預先認證能 力在Beacon和Probe Response圖框中之無線AP認證。1. Network language telephone processing 2. SIP proxy server and B2BUA 3. PSTN Call management via PSTN GWs 4. PBX feature management via Asterisk 5. Resource and connection management The telephone control module resides on the DN media switch. The telephone control module interfaces with the SIP stack and the Asterisk (or any other) PBX to provide the above functionality. 1. SIP stack (for UA, CCM, and Asterisk, etc.): SIP stack is mainly used as the protocol message decoding/encoding engine. The SIP stack performs basic protocol designation, such as standards-based message profiling and verification, retransmission, and proprietary message verification. For most agents and B2BUA operations, the SIP stack relies on the CC for decision. The interaction between CC and Asterisk and CC and C CM is based on standard-based SIP messages. -14- 200814679 2. Agent Engine/Configuration Manager (PA/CM): The Agent Engine acts on the Configuration Manager for all applications. After reading the disc DB at the time of supply or after the system is started, download the phone control information with the PA. The CC stores the data in RAM for local/faster access. The CC updates the P A of any dynamic information (eg, the call is in progress or interrupted), or requires information (eg, SNMP GET). 3. Resource Manager (RM): The Resource Manager provides a logical diagram of the entity/network resources. These resources include GE埠, DSP resources, sockets, UDP/TCP埠, etc., but do not include system resources such as memory, data buffers, timers, queues, and so on. Resources do not include outlets for internal IPC communication. CC uses RM as a resource for CAC, resource reservation, and communication. As part of the communication, RM tells the media switch to program the hardware to make the media flow. The Media Switching Application (MSA)-MSA will be designed to be partially implemented on Linux and the rest on the TMS3 20DM64x DSP processor. The application will perform the following functions: RTP packet processing. exchange. Code conversion. conference call. Adaptive bounce buffer. Packet loss is hidden. Includes post processing of VAD/CNG and AGC. The MSA software needs to support encoding/decoding of different speech codecs/decoders -15- 200814679 code. The types of algorithms and channels can be changed during execution, ie multi-channel, multi-algorithm design is required. Each codec/decoder algorithm needs to be reentrant coded, and the program and data need to be fully releasable. In order to support various encoders/decoders, the following considerations are required: a. Because DSPs have limitations on the data memory of the wafer, not all data in the multi-channel, multi-algorithm application can be placed on the wafer. This requires the location of all data (text and tables) in each algorithm to be re-changed (between the wafer and the external memory) during the text exchange. This requires finding the memory, stack size, and MIPS requirements for each supported encoder/decoder. b. A mechanism for exchanging messages between the host and the DSP indicating the number of channels and the type of encoder/decoder and any other features. Channel Configuration Manager You need to open a channel that indicates the DSP of the desired type of function. A periodic message indicating the state of the DSP must be implemented. The DSP processor enables the external host to access the DSP external memory. The DSP has a first-order program and data memory of 16 kilobytes. The program shares the second-order memory of 256k bytes with the data memory. 16 million bytes of external memory (SDRAM) are available. The shared memory between the two processors stores incoming and outgoing RTP data. Since the DSP needs to support the number of N channels, this memory will contain N receive and transmit buffers for each length of 3 20 bytes (in the case of video, these buffers need to be 1 500 bytes). The data structure used for information between the host and the D S P and the information required for each call is required to be defined. The following steps define the DSP function: -16- 200814679 a. During startup, once the software is downloaded to the DSP (the host will be pointed out by downloading the predetermined location in the fixed memory location so that the DSP indicates the same). b. When the software is successfully downloaded, the DSP will execute the internal timer for 10 msec. At this point, the DSP polls the channel status to change to processing, which is set by the host once the packet arrives. c. Send a start or open channel command from the host indicating the encoder/decoder type, data ready, and phone type (initially only voice) to the RX and TX directions. d. Based on the open channel, the DSP takes the RTP data from the external buffer and performs DSP related functions on these. e. On the TX side, the DSP places the encoded data on an external buffer for TX to acquire. 3 is a diagram of a mobile device user in accordance with an embodiment of the present invention. Execute user software or phone software on a phone that is compatible with the Divitas server. Typically, these are dual mode handsets with an IP connection that provides a cellular connection (CDMA or GSM) and a LAN connection (wired LAN or wireless LAN). It can also be used as a software phone for desktop/laptop or PDAs with microphones and speakers. The user interface user interface provides the following functions: • Set boot configuration - DNS IP address, Divitas server URL, INVISIBLE / AVAILABLE, security settings -17 - 200814679 • Change user status (INVISIBLE) /AVAILABLE) • Add corporate “buddies” (partners) and get their presence information (INVISIBLE/AVAILABLE/CALL-IN-PROGRESS) • Enterprise “buddies” (partners) display availability status and connect to them • joint venture User interface for phone features • Telephone dialing • Telephone answering • In-line docking • Designated transfer • Call forwarding • Multi-party conference calls • Voicemail notifications • Missed call notifications • Received call notifications • Pending call notifications • Numbers Query and dial with name • Manual control device using a cellular network instead of WiFi network • Display version mismatch • Upgrade request/status • Disable/disable user software An ISP application is used to dial/receive hive Telephone control and voice • Telephone control for making VoIP calls on the LAN interface-18- 20081467 9 • The voice engine for making VoIP calls on the LAN interface includes encoder/decoder, echo cancellation, jitter control, error concealment • telephony from cellular phones to VoIP phones • telephony from VoIP phones to cellular phones 802.11 • Decide which ip networks and their signal strengths can be used and pass the information to the server • AP users • 8 02.1 1 mini-connected power management - whenever the signal strength of 802.1 1 is below an acceptable threshold, Keep the network to sleep at rare intervals and poll the network to save power. • If the phone is in progress, package the signal strength and voice quality information into RTCP packets, or keep it valid if the phone is not in progress. Communicate to the server. Whenever the signal strength drops to an acceptable threshold or the speech quality degrades, the server will decide to switch from VoIP to the cellular network. Platform Because there are many mobile phone vendors on the market and offer dual-mode phones, the software needs to be designed so that most of the code can be shared between phones. Therefore, the code must be divided into a platform dependent part and a platform independent part. In fact, almost all Divitas cores should be part of the platform of the software, so it can be easily carried from one platform to another. The platform dependencies should only have functional adaptation layers (especially, telephony, LAN, 802.11, audio, and display adaptation layers). Whenever the code is transferred to the new platform, it is only necessary to modify and rewrite these adaptation layers while providing the unified -19-200814679 API to the platform independent part. User software will be executed on multiple mobile platforms. The most common mobile platforms are Windows CE, Symbian, and Linux. In addition to dual-mode phones, user applications are designed to operate on 802.11 phones, PDAs, or laptop/desktop computers that do not have a cellular phone interface. On these platforms, a subset of features can be utilized to the user. Basically, it is impossible to VoIP from cellular to cellular. Theory of Operation At startup, the user application looks for resources available on the phone. The user application first checks for the presence of the wired network. If it does not exist, the user application checks for the presence of the 8 02.1 1 network. Depending on the corporate security policy, wired or wireless media certification is required. Mobile phone users should support the security agencies used by the enterprise. The most common security mechanism is WPA (WiFi Protected Access). Once the authentication is successful, the wireless user obtains the IP address of the IP interface using DHCP. The application retrieves the Divitas server URL and the D N S IP address from the persistence database and attempts to register with the D i v i t a s server. Application users can be executed on mobile phones within the corporate network. At that point, the user can reach the Divitas server without any additional security overlay. When the user is on a public network (e.g., a cafe or airport with WiFi internet access), the user typically sets up a VPN connection to the enterprise. The user can only reach the Divitas server after the VPN tunnel is established. -20- 200814679 The user application software authenticates the phone to the server by sending an encrypted digital visa (installed by the corporate IT). Once the phone is authenticated, the user obtains the login/password from the user or stored in the phone, encrypts the login/password and sends the encrypted login/password to the server as the user authentication. When successful authentication, the server answers by sending a corporate phone number. In response, the user sends a cellular phone number to the server. The server combines the two for all future messaging solutions. SIP/TLS for signaling and SRTP for media streaming are used to ensure signaling and media streaming. However, if the user is on a VPN link, the user does not need to add another level of encryption. Adding another level of encryption can result in reduced voice quality. In that example, SIP is used for signaling and RTP/RTCP is used for media streaming. The above process is repeated each time the user restores network connectivity to the server. Constant Steady Operation By organizing on the GUI and saving the configuration in a persistent database, the user can select INVISIBLE or AVAILABLE at startup (invisible/available). The user updates the user presence information to the server. Users can also frequently enter so-called partners in the company and save the configuration in a persistent database on the phone. Whether they are INVISIBLE, AVAILABLE, or C A L L - IN - P R Ο G R E S S (in the phone), the user gets the presence information (huge amount) of these partners. When an event occurs, the server updates the presence information of these partners to the user. Whenever you are not on the phone, the user and server periodically exchanged for -21 - 200814679. The user periodically sends the network status to the server. If the user is on the 802.1 1 wireless network, the user sends the SSID, the associated signal strength and bandwidth of the access point (AP) to the server. If in the phone, the user sends the S S ID as part of the RTCP packet in the band. If not on the phone, the user sends a persistent message out of band. The preferred mode of making and receiving calls to users is on the network interface whenever a network conversation is available from the user to the server. However, the user can choose to place a call on the cellular network regardless of the presence of the preferred mode. This selection is not passed to the server and does not affect incoming calls. This selection is also not stored in the persistent database. The user must make a clear choice when the user dials out. The only way to make a phone-welded call is from the cellular interface whenever the network conversation is not available from the user to the server. Users do not have access to all corporate features. Whether the user software provides only a subset of service provider features, the user can make and receive calls using the user software UI. In order to use all the features of the cellular service provider network, the user must terminate (or disable) the user software and use the cellular service provider to dial the application. If the service provider application is being used to make and receive calls, the messaging described in 3.4.2 below will not be possible. As long as the user has a conversation that has been established to the server, the user has access to all enterprise features. User GUIs are used to provide access to these enterprise features to the user. Voice -22- 200814679 SIP signaling is used to establish a voice call between the user and the server. The speech from the audio receiver is encoded into one of the encoder/decoders supported by the GIPS Speech Engine (VE), which will be encapsulated into RTP packets, encrypted if necessary, and sent to the server over the IP interface. Similarly, if necessary, the RTP received from the server is decrypted and decoded and implemented using one of the encoder/decoder. Speed decoding, jitter control, and error concealment are performed by GIPS VE on the receiving side. In addition to encryption/decryption, speed encoding/decoding, the GIPS speech engine performs error concealment, jitter control, adaptive packet buffering, acoustic echo cancellation and suppression, noise cancellation and suppression, automatic gain control, voice activity detection, Comfort noise is generated. Roaming Unlike a portable laptop, a mobile phone user is a mobile device. Communication within the WLAN When the user is in an 802.11 network with a telephone conversation and walking between buildings, AP communication may occur, that is, the user's mobile phone is different from the AP previously combined with the mobile phone. AP combination. If the communication is on the same subnet or on another subnet, AP communication can occur without IP address change. In this example, the IP address of the mobile phone changes. If the IP address changes, the user needs to register with the server again. At the same time, the established phone continues to flow using the old mobile information until the voice engine (VE) is notified of the new IP address. When a wireless subscriber uses 802. IX authentication, a series of messages are sent between the wireless subscribers by wireless -23-200814679 access point (AP) to exchange certificates. This message exchange causes a delay in connection processing. When a wireless user roams from one wireless AP to another, performing a delay of 8 02·IX authentication may result in a significant interruption of the network connection, especially in terms of time-dependent traffic such as voice or video-based data streams. . To minimize the delay associated with roaming to another wireless AP, the wireless device can support PMK caching and pre-authentication. PMK Cache When a wireless subscriber roams from one wireless AP to another, the wireless subscriber must perform full 802. IX authentication with each wireless AP. WPA enables wireless users and wireless APs to cache the results of full 802.IX authentication so that if a user roams back to a previously authenticated wireless AP of a wireless subscriber, the wireless subscriber only needs to perform a 4-way handshake and decide on a new pairing transition key. . In the associated request frame, the wireless subscriber includes the PMK identification symbol determined during the initial authentication and stored with the wireless subscriber's PMK cache entry for the wireless AP. If the wireless user is integrated with the wireless AP, the PMK cache entry is stored for a limited amount of time. In order to make the transition of the wireless network infrastructure using the switch that is used as the 802.1 X authenticator faster, the WPA/WPS IE Update calculates the PMK identification symbol 値 'to make it re-use when roaming between wireless APs attached to the same switch Such as the PMK determined by the switch 802. IX certification. This implementation is considered an opportunistic Ρ K cache. Pre-certification With pre-certification, while connected to its current wireless port, -24 - 200814679 WPA wireless users are free to perform 8 02· IX certification with other wireless APs in their range. Wireless users send pre-authenticated traffic to additional wireless APs over their existing wireless connections. After pre-authenticating with the wireless AP and storing the PMK and its associated information in the PMK cache, the wireless user connected to the wireless AP that the wireless user has pre-authenticated only needs to perform a 4-way handshake. WPA users who support pre-authentication can only authenticate with wireless APs that publish their pre-authentication capabilities in the Beacon and Probe Response frames.

WiFi-蜂巢式傳訊 當在具有電話交談的8 0 2.1 1網路中之使用者走到沒 有8 02.1 1連接性或不足的建築物外面時,將電話送交到 蜂巢式網路。 由用戶做出傳訊電話的決定◦決定係依據802.1 1信 號強度、通道負載、與語音品質臨界。一旦做了決定,則 將決定傳遞到在蜂巢式網路上啓動電話到用戶之伺服器。 用戶檢查進來電話的撥打者id(識別符號),與8 02.1 1撥 打者id比較,若有匹配,則接受蜂巢式電話且丟掉 8 0 2.1 1電話腳。在伺服器側上,伺服器丟掉到用戶的 80 2.1 1電話腳,修補到另一說話方的802.1 1電話腳。 節源 當手機用戶在802.1 1網路上是閒置的時’ 802.1 1迷 你連接埠進入睡眠。在進入睡眠之前,手機告知AP手機 希望藉由在每一圖框的802.1 1標頭中設定節源位元以進 入睡眠。AP接收圖框,及通知用戶的希望以進入節源模 -25- 200814679 式。在用戶的802.1 1迷你連接埠睡著的同時,AP開始爲 用戶緩衝封包。迷你連接埠在睡著時的功率消耗極低。迷 你連接埠週期性醒來以接收從存取點進來的定期性求救傳 輸。節源用戶需要在傳輸求救時剛好醒著以接收求救。 TSP(時序同步化功能)確保AP和節源用戶同步化。在基地 台睡著時,TSP計時器保持運行。這些求救辨識睡著的基 地台是否具有AP已緩衝的封包且等待運送到其各自的目 的地。 當沒有進來的求救一段長時間週期時,802.1 1迷你連 接埠進入睡眠狀態。迷你連接埠週期性醒來,探測AP的 網路連接,若未存在,則迷你連接埠回到睡眠狀態。在此 例中,迷你連接埠睡得比前一例子更長的期間。 B.以編碼/解碼器爲基的聲學回音消除 本發明的一或多個實施例係相關於消除信號的裝置。 裝置可包括辨識碼(ID碼)產生器,其被組配成產生ID 碼。裝置亦可包括ID碼注入器,其被組配成將ID碼注入 到信號和經處理信號的至少一者以產生迴旋信號。經處理 信號係由信號的處理所產生。裝置可另外包括ID碼偵測 器,其被組配成偵測迴旋信號、變換信號、和迴旋信號之 變換的至少一者,變換信號係由迴旋信號的變換所產生。 裝置可另外包括算術函數,其被組配成去除迴旋信號和變 換ί目號的至少一*者。 圖4描畫根據本發明的一或多個實施例之以編碼/解 碼器爲基的聲學回音消除之方法。 -26- 200814679 當近端和遠端說話者二者都在說話時,難以區分遠端 說話者的目吾苜之回首和近纟而說S舌者的語苜,因爲二者都存 在於具有相同人類語音特徵的近端信號輸入中。在此應用 程式中’提出新方法處理聲學回苜,該方法與目前習知 AEC相當不同。 本發明的一實施例是在第一節點和第二節點之間通訊 期間用以消除回音之方法。方法包括將密碼注入到第一節 點的信號輸入。根據本發明的一或多個實施例,第一節點 是遠端使用者所使用的網路裝置,第二節點是近端使用者 所使用的網路裝置。根據本發明的一或多個實施例,第一 節點是近端使用者所使用的網路裝置,第二節點是遠端使 用者所使用的網路裝置。 根據本發明的一或多個實施例,將密碼注入到遠端信 號輸入內。如此,在此密碼上攜帶信號或遠端信號的多重 回音並且到達近端信號輸入中。近端信號又包括近端說話 者語音。因爲只在遠端信號的回音上而非近端說話者的語 音上攜帶密碼,所以密碼可充作那些回音的本身,並且幫 助我們區分近端說話者語音。諸如關聯性或其他方式等某 些種類的匹配濾波器可被用於以密碼辨識遠端信號的回音 與近端說話者語音並且去除它們。在遠端信號輸出上將產 生最終無回音信號。 爲了進行此新的設計工作’有兩重要的實施考量。其 中一考量是如何選擇和設計密碼’而另一考量是如何將密 碼注入到遠端輸入信號內。兩種考量都有不應讓端對端收 -27- 200814679 聽者察覺到密碼的同一考慮。 當某人在麥克風前說話時,不僅此人的語音而且某程 度的s景雜訊也將進入麥克風。但是因爲說話者語音遮蓋 掉背景雜訊,所以通常此背景雜訊不干擾收聽者。只要背 景雜訊保持是低的,並且SNR(信號對雜訊比)保持在特定 臨界以上,背景雜訊不會變成會有影響的因素。事實上, 背景雜訊總是存在於實際今日語音通訊中。 依據上述事實,首先,可將密碼變換成稱作,,密碼隨 機雜訊”的虛擬隨機雜訊。接著,從遠端信號輸入去除現 存的背景雜訊,及將密碼隨機雜訊插入到遠端信號輸入。 只要新的SNR保持在特定臨界以上,則近端收聽者不會 聽出任何差異。根據本發明的一或多個實施例,圖4所示 的注入器將密碼擾頻成虛擬隨機雜訊,去除遠端信號輸入 中的現存背景雜訊,然後插入密碼隨機雜訊。 因爲只有當遠端說話者正在講話時回音會存在,所以 遠端信號偵測器將偵測到遠端信號存在並且觸發密碼產生 器。密碼導頻可包括密碼時序和相位。密碼導頻偵測器被 用於偵測攜帶在遠端信號的回音上之密碼導頻,並且因爲 可變的回音路徑,所以亦被用於調整到匹配濾波器的密碼 延遲。在密碼導頻偵測器終將需要不擾頻處理。 密碼和密碼導頻可被設計成密碼偵測器和匹配濾波器 容易辨識帶有此密碼和其導頻之遠端信號的回音’然後去 除這些回音。此外’可在匹配濾波器之後使用非線性處理 器進一步降低剩餘回音且提高AEC性能。 -28- 200814679 參考下面的圖式和討論將可更加明白本發明的特徵和 優點。 回音是通訊中的一大問題。如發明背景所討論一般, 在習知技術中,濾波器(或回音消除器)可被用於模型化嘗 試提供信號以消除回音之回音路徑。 圖8 A爲包括回音消除用的濾波器8 1 4 (或回音消除器 8 14)之示範性習知技術通訊裝置800(習知技術裝置800) 的方塊圖。如圖8A的例子所示,習知技術裝置8 00可包 括信號接收器8 0 2,用以接收來自遠方(或遠端)的遠端信 號(如、信號y’);和信號發送器,用以發送信號(如、信 號z)到遠方。 習知技術裝置800又包括揚聲器806,用以播放接收 到的信號給習知技術裝置8 0 0的使用者(即、本地或近端 方);和麥克風8 1 0,用以收集近端信號(如、信號x,可 包括本地方的語音和背景雜訊)。 習知技術裝置800又包括緩衝器8 1 2,用以緩衝從信 號接收器802所接收到的信號;和濾波器8 1 4,用以模型 化揚聲器8 0 6與麥克風8 1 0之間的回音路徑8 0 8,且用以 處理緩衝器8 1 2中所緩衝的信號。回音路徑8 0 8可表示延 遲、衰減、混響等的多重路徑,例如,將信號y,變換成 yl等。 習知技術裝置800另外包括總和函數8丨6,用以從麥 克風8 1 0的輸出減掉濾波器8丨4的輸出。習知技術裝置 8 00另外包括信號反饋路徑,用以將總和函數816的輸出 -29- 200814679 饋送回到濾波器8 1 4。 信號接收器8 02所接收到的信號(如、信號y’)可轉寄 到揚聲器8 06和緩衝器812。濾波器814從緩衝器812接 收信號,利用回音路徑8 0 8的模型處理信號以產生消除信 號(如、x2,y ’的函數),及發送消除信號到總和函數 8 1 6。接著,總和函數8 1 6從自麥克風8 1 0所接收的信號 (如、xl=x + yl)減掉從濾波器814所接收到的消除信號 (如、x2 = f(y’))以產生減法信號(如、z)且發送減法信號到 信號發送器8 1 8。將總和函數8 1 6的輸出饋送回到濾波器 8 1 4以更新和改良濾波器8 1 4中的回音路徑模型。 進一步參考圖8B說明習知配置8 00中所實施的回新 消除方法。 圖8B爲例如習知技術裝置800(圖8A所示)用以消除 回音的示範性習知技術方法之流程圖。如圖8B的例子所 示’方法開始於步驟8 5 0,其中接收器802(圖8A所示)發 送信號y,。然後,將控制移至步驟8 52及8 54。 在步驟8 52,揚聲器806(圖8A所示)接收信號y,。在 步驟156中,麥克風81〇(圖8A所示)接收信號yl加上近 端信號X。信號y丨表示因爲延遲、衰減、混響等所產生 之信號y,的變形信號。延遲、衰減、混響等係由揚聲器 806和麥克風8〇8(圖8A所示)之間的回音路徑808所產 4 ^信號X包括本地方的語音加上麥克風8 i 〇所拾取的本 地周遭背景雜訊。然後,將表示信號y 1和信號X的組合 之信號X 1發送到總和函數8 i 6 (圖8 A所示)^ - 30- 200814679 在步驟8 5 4中,緩衝器8 1 2又接收信號y ’。在步驟 8 5 8中,濾波器814利用回音路徑808的模型處理信號y’ 以產生信號’其爲y’的函數’如、f(y’)’然後將此發 送到總和函數8 1 6 (圖8 A所示)。 在步驟8 6 0中,總和函數8 1 6從信號X 1減掉信號X 2 以產生信號z。理想上’若f (y ’)等於y1 ’則z將等於x, 其爲與已去除回音(由y1表示)的遠方有關之近端信號。 然而,濾波器814中所實施之回音路徑808的模型可能不 精確,典型上z不等於z。 在步驟8 6 2中,總和函數8 1 6將信號z發送到將z傳 送到遠方的信號發送器8 1 8。 在步驟8 6 4中,總和函數8 1 6饋入信號z回到濾波器 8 1 4,用以更新和改良步驟8 5 8中所利用的回音路徑模 型。信號z的反饋和相關計算與更新使得濾波器8 1 4需要 額外的處理時間或處理功率。 信號z的品質(即有關信號X的信號z之錯誤)視濾波 器8 1 4中所實施之回音路徑模型和演算法與實施濾波器 8 1 4的計算裝置之記憶體和處理功率而定。 就習知技術裝置、配置、和方法(如圖8A的習知技術 裝置800和圖8B的方法所示者)而言,回音路徑808的校 正模型化(如、濾波器8 14所執行者)對有效消除回音是重 要的。然而,既定的各種周遭雜訊、周遭雜訊的混響、及 /或其他因素,回音路徑8 0 8是動態的,因此難以準確地 模型化。結果,習知技術裝置、配置、及方法無法有效消 -31 - 200814679 除回音。 習知技術裝置、配置、方法另外面臨本地方(或近端) 和遠方(或遠端)同時說話之雙邊通話情況。因爲本地方的 語音和遠方的語音具有類似的人聲特性,濾波器8 1 4無法 準確地辨識哪一個信號欲輸入到回音路徑8 08的模型。結 果,本地方的語音部分可能被消除,及回音部分不被消 除,及濾波器8 1 4中的回音路徑模型之錯誤可能變成發散 以取代收斂,導致不理想的通訊品質。 因此,在習知技術中’已投入許多資源以改良模型化 回音路徑8 0 8的演算法。另外,濾波器1 1 4需要大量資料 記憶體和需要具有高處理功率的CPUs。結果,產生實施 回音消除的高成本。 對照之下,即使未設置濾波器,本發明的一或多個實 施例仍包含用以消除信號的設備。在一或多個實施例中, 信號表示數位信號。設備包括辨識碼(ID碼)產生器,其被 組配成產生ID碼。設備又包括ID碼注入器,其被組配成 將ID碼注入到信號和經處理信號的至少一者以產生迴旋 信號。經處理信號係由信號的處理所產生,諸如背景雜訊 的去除等。設備另外包括ID碼偵測器,其被組配成偵測 迴旋信號、變換信號、及迴旋信號之變換的至少一者,其 中變換信號係由迴旋信號的變換所產生。可因設備的組態 及/或環境產生迴旋信號的變換。例如,迴旋信號的變換 $示設備的揚聲器和麥克風之間的一或多個回音路徑所產 &的延遲;變換信號表示延遲存在的延遲信號。設備另外 -32- 200814679 包括算術函數’其被組配成去除迴旋信號和變換信號的至 少一者。 圖9A爲根據本發明的一或多個實施例之即使未設置 濾波器仍可消除回音之通訊裝置900(裝置900)的方塊 圖。方塊圖又表示具有實施在一或多個裝置中之圖9A所 示之組件的通訊系統或配置。 裝置900包括輸入/輸出組件,諸如信號接收器904 用以接收來自遠方的遠端信號)、信號發送器93 2(用以發 送信號到遠方)、揚聲器914、及麥克風916(本地麥克風 916)等。存在從揚聲器914行進到麥克風916的回音路徑 90 8 〇 裝置900亦可包括信號處理模組,諸如背景雜訊去除 器906等。背景雜訊去除器906可被組配成從接收自信號 接收器904的信號去除背景雜訊。可利用諸如去除背景雜 訊用的光譜減法等一或多個眾所皆知的演算法實施背景雜 訊去除器906。 裝置900亦可包括用以消除回音之模組。模組可包括 辨識碼產生器 922(ID碼產生器 922)、辨識碼注入器 910(ID碼注入器910)、辨識碼偵測器924(ID碼偵測器 924)、及緩衝器926。模組亦可包括變換模組,諸如延遲 器92 8等,例如用以變換信號、引入延遲。模組亦可包括 算術函數,諸如例如總和函數93 0等。 ID碼產生器922可被組配成產生可控制且可去除的 ID碼,使得能夠辨識一部分信號。然後例如爲了回音消 -33- 200814679 除目的則將該部分信號去除。ID碼可表示可模擬背景雜 訊或緩和雜訊之虛擬隨機碼。ID碼產生器922可包括線 性反饋移位暫存器,用以產生欲使用的虛擬隨機雜訊序列 當作ID碼。 另外,ID碼可包括人類耳朵無法察覺到的高頻或低 頻信號。在一或多個實施例中,麥克風916的抽樣率可被 組配成例如經由組配麥克風9 1 6的硬體及/或軟體(或驅動 描〇來處理局頻或低頻ί旨號。在一*或多個實施例中,憑藉 表示人類耳朵無法察覺到的信號之ID碼,裝置900可不 包括背景雜訊去除器906。 ID碼注入器910可被組配成將ID碼產生器922所產 生的ID碼注入到信號中。可藉由諸如將ID碼插入到信號 內的數位相關法,例如藉由將ID碼與信號迴旋以產生迴 旋信號等藉由一些眾所皆知的演算法實施ID碼注入器 910 〇 ID碼偵測器924可被組配成偵測迴旋信號內的ID 碼,例如在包含一或多個其他信號的混合、疊置、及/或 另外迴旋信號中。另外,ID碼偵測器924可被組配成偵 測由迴旋信號的變換所產生之經變換信號及/或ID碼;例 如裝置900的組態及/或環境可產生變換。另外,ID碼偵 測器924可被組配成偵測變換。變換可包括延遲及信號位 準衰減。ID碼偵測器924可實施一或多個眾所皆知的演 算法,諸如數位相關法或偵測ID用的匹配濾波器等。 延遲器928可被組配成將延遲引入到信號中。延遲器 -34- 200814679 可被用於模擬變換。可藉由引入延遲用的簡易延遲線移位 暫存器實施延遲器928。 各個雜訊去除器906、ID碼產生器922、ID碼注入器 910、ID碼偵測器924、及延遲器92 8都包括在可下載到 諸如電話、行動電話、電訊會議裝置等使用者裝置(如、 用於聲學回音消除)、及/或伺服器裝置(如、用於線路或網 路回音消除)的軟體中。 圖9B爲根據本發明的一或多個實施例之用於裝置 900(圖9A所示)的ID碼產生器922之方塊圖。ID碼產生 器922可只包括在將直接產生隨機碼之碼產生器921中。 在此例中,諸如藉由憑藉小心選擇適當反饋函數之線性反 饋移位暫存器等一些眾所皆知的演算法實施碼產生器 921。 然而,ID碼產生器922可包括伴隨隨機函數發生器 923的碼產生器921。在此例中,首先,碼產生器921可 產生適當辨識碼而不用擔心隨機化發生。然後,將此辨識 碼饋入隨機函數發生器923中,以變成當作922的輸出之 虛擬隨機雜訊序列。可憑藉碼產生器92 1所控制的反饋函 數之經修正線性反饋移位暫存器實施隨機函數產生器 923 〇 圖9C爲根據本發明的一或多個實施例之用以消除例 如裝置9 0 0 (圖9 A所示)中的回音之方法的流程圖。方法 開始於步驟9 5 2 ’在該步驟中,信號接收器9 0 4 (圖9 A所 不)可從遠方接收柄號y’(η)。 35- 200814679 在步驟954中,雜訊去除器906可從y’(n)去除背景 雜訊,產生信號y(n)。爲了爲包括隨機雜訊的ID碼留空 間,可去除背景雜訊。因此,本地方不接收過度的雜訊。 在步驟95 8中,ID碼產生器922(圖9A所示)可產生 ID碼c(n)。ID碼c(n)可表示已知和可控制的函數。在步 驟95 6中,ID碼注入器91 0(圖9A所示)可將ID碼c(n)注 入到信號y (η)中。結果可產生C (η)及y (η)的迴旋。例如, c(n)及y(n)的迴旋可以是迴旋信號c(n)*y(n)。然後,將控 制移轉到步驟962及步驟9 80。 在步驟962中,揚聲器914(圖9A所示)可接收迴旋 信號c(n)*y(n)。在步驟964中,麥克風916(圖9A所示) 可從揚聲器914接收延遲信號,即信號c(n-d)*y(n-d)。麥 克風916亦可拾取另一輸入信號x(n),其包括本地方的語 音(如、在雙邊通話方案中)及/或環繞在麥克風916四周的 背景雜訊。然後,麥克風 916可將組合信號 x(n) + c(n-d)*y(n-d)輸出到ID碼偵測器924(圖9A所示)和總和函 數93 0(如圖9A所示)。 在步驟980中,緩衝器926(圖9A所示)可緩衝迴旋 信號c (η) * y (η)的複本並且將迴旋彳目號的複本輸出到延遲 器 928。 在步驟9 6 6中,ID碼偵測器9 2 4 (圖9 Α所示)可偵測 到組合信號x(n) + c(n-d)*y(n-d)中的ID碼c(n-d)’並且假 設c(n)是已知且可控制的函數,則可藉由比較從1D碼產 生器922所接收到的c(n)與c(n-d)以決定延遲量d°可將 -36- 200814679 延遲量d饋入到延遲器928(圖9A所示)。 在步驟982中,延遲器928(圖9A所示)可從步驟980 將延遲量d引入緩衝器926的輸出(即c (n)* y (η)的複本), 產生c(n-d)*y(n-d)的複本。 在步驟990中,總和函數93 0(圖9A所示)可從步驟 964的輸出(即、信號x(n) + c(n_d)*y(n-d))減掉步驟982的 輸出(即、信號產生c(n-d)*y(n-d)的複本)。換言之,在步 驟99〇中,總和函數93 0計算信號x(n) + c(n-d)*y(n-d)-c(n-d”y(n-d)以獲得信號χ(η),其表示未存在信號y’(n) 的回音(以信號y(n-d)表示)之接收器麥克風916(圖9A所 示)所拾取的輸入信號。信號χ(η)可包括諸如在雙邊通話 方案中等本地方的語音,及/或在麥克風916四周的背景 雜訊。 在步驟992中,包括諸如在雙邊通話方案中等本地方 的語音及/或在麥克風916四周的背景雜訊及未包含回音 之信號x(n)可被發送到信號發送器93 2。如此,可有效消 除單邊通話和雙邊通話方案中的回音。 從上述可明白,本發明的實施例可有效消除回音,卻 不需要習知技術裝置、配置、或方法中需要的濾波器(或 回音消除器)。在免除濾波器依賴的回音路徑模型化中之 可能錯誤下,本發明的實施例可提供更準確的回音消除和 更快速的消除,因此,獲得更好的服務品質。另外,本發 明的實施例可有效地消除習知濾波器通常執行不良之雙邊 通話方案中的回音。 -37- 200814679 在實際上不依賴濾波器和沒有回音路徑模型化的相關 複雜性之下,本發明的實施例亦可有利地免掉濾波器所需 之高CPU處理功率和大資料記憶體的需要,藉以減少實 施回音消除的成本。 C.透過IP通訊的影音之以內容爲基的跳動緩衝計畫 在不依賴濾波器和相關的回音路徑模型化複雜性之 下,本發明的實施例亦有利地去除濾波器所需之高CPU 處理功率和大資料記憶體的需要,藉以降低實施回音消除 的成本。 C.透過IP的語音/視頻通訊之以內容爲基的跳動緩衝 設計 本發明的一或多個實施例提供一機構以使用聲頻的 VAD和跳動補償來處理過多WLAN跳動。本發明的一或 多個實施例亦爲沒有移動或無移動與封包跳動一起使用之 視頻運作。 本發明的一或多個實施例係相關於封包通訊裝置。封 包通訊裝置可包括偵測器,其被組配成偵測封包通訊裝置 所接收到之進來封包中的特徵化內容。封包通訊裝置可另 外包括實施控制器,其被組配成若偵測器已偵測到進來封 包中的特徵化內容,則執行進來封包的調整以產生經調整 封包和輸出經調整封包。 提出被稱作以內容爲基的跳動緩衝之新跳動緩衝設計 以解決目前的跳動緩衝技術限制。根據本發明的一或多個 實施例,不僅注意到進來封包的RTP標頭資訊,而且也 -38- 200814679 注意到它們的RTP酬載內容,藉以辨識進來封包上的無 聲和說話乍現。然後依據此無聲和說話乍現線索以決定何 時能夠插入實施延遲以補償網路封包跳動。利用此新的設 計,接收器側上的跳動緩衝將不再依賴發送器的無聲抑 制。 圖5 A-B爲跳動緩衝架構的高位階槪要圖。將經由語 音品質引擎(VQE)中的函數方塊追蹤封包的路徑。此處的 目的係引進適應性去跳動控制器以使實施相等。可利用類 似的設計處理視頻跳動。 在習知技術跳動緩衝設計之一中,髓爲接收測 VAD(語音活動偵測)被用於防止跳動緩衝器溢位。 換言之,當無聲或說話乍現線索到達最大長度時,無 聲或說話乍現線索被用於嵌平跳動緩衝。新規劃與習知技 術設計的不同處包括無聲或說話乍現現所被用於控制何時 可插入實施延遲以補償網路封包跳動。因此,根據本發明 的一或多個實施例,無聲或說話乍現偵測將變成跳動緩衝 設計的重要部分。在某些情況下,當跳動緩衝變成溢位 時,進行任何調整都太遲。 此處是如何將此以內容爲基的跳動緩衝設備和方法應 用到工作中的應用程式。將語音和視頻例子都說明如下。 圖5A爲根據本發明的一或多個實施例之語音跳動緩 衝器的方塊圖。核心跳動緩衝器包括用於封包佇列、封包 實施、跳動計算、及跳動補償的一或多個組件。在此處, 解碼器和VAD將產生無聲和說話乍現指標。然後將無聲 -39- 200814679 或說話乍現指標饋回到跳動補償部分,且被用於決定何時 插入實施無聲以補償網路封包跳動。 圖5B爲根據本發明的一或多個實施例之視頻跳動緩 衝器的方塊圖。除了當視頻圖框上沒有移動或移動極低時 將插入實施延遲之外,核心跳動緩衝器類似於語音的核心 跳動緩衝器。在此處,於解碼器之後,移動估算和移動補 償將產生剩餘圖框。可從此剩餘圖框加上一些特定臨界形 成無移動指標。然後將無移動指標饋回到跳動補償部分, 且用於偵測何時插入實施無聲以補償網路封包跳動。在視 頻中,插入實施無聲實際上係在重複先前視頻圖框的同 時5停止實施新的圖框。 如上述,諸如封包延遲(即、封包晚到)、封包延遲變 化、及封包損失等問題對封包通訊中的服務品質(QoS)具 有負面影響。封包延遲和封包延遲變化亦可視作跳動。爲 了解決這些問題,在習知技術中,藉由當實施來自封包緩 衝器的封包時週期性插入延遲(即、無聲封包或舒適雜訊 封包的形式)以將固定式去跳動緩衝設計用於補償封包的 晚到。然而,利用固定式去跳動設計,在語音封包之間會 過度插入延遲,產生突變語音。 在習知技術中,發送器側語音活動偵測器(VAD)亦可 被用於適應性插入延遲,藉以補償封包延遲和封包延遲變 化。然而,一些使用者裝置不支援發送器側 VAD。另 外,例如,當傳輸方正執行音樂播放時,因爲音樂中斷被 視作無聲和不適當處理,所以如果是現存的 VAD演算 -40 - 200814679 法,則發送器側VAD會產生不想要的雜訊或突變語苜。 就另一例子而言,當傳輸方與打開的發送器側VAD 一起 使用G . 7 2 9 A B編碼/解碼器以播放一些音樂時’接收器側 中的使用者會察覺到變形失真的音樂。因此’封包通訊服 務供應商通常會關掉發送器側VAD ’而無法補償封包延 遲和封包延遲變化。結果’仍舊會利用固定式去跳動緩衝 設計,服務品質仍然不是接收方想要的。 另外,在習知技術中’接收器側無聲偵測器可被用於 控制封包緩衝器溢位,以防止封包損失。然而’根據習知 技術中的組配,會丟棄語音封包’因此當封包緩衝器幾乎 是滿的或是滿的時會損失’此種服務品質並非接收方想要 的。 相反地,本發明的實施例可利用接收器側無聲偵測器 適時補償延遲和延遲變化,且適應性實施來自封包緩衝器 的封包。有利的是,不需要發送器側 V A D,可提供想要 的服務品質。另外,本發明的一或多個實施例可利用接收 器側視頻偵測器,藉以適應性處理視頻通訊中的跳動。 在一或多個實施例中,本發明係相關於封包通訊裝 置,該裝置可包括偵測器,其被組配成偵測封包通訊裝置 所接收的進來封包中之特徵化內容。特徵化內容可表示語 音通訊中的無聲(如、未具有所接收到的語音封包之時間 週期)。另一選擇是’特徵化內容可表示低於臨界之移動 或無移動的至少一者。例如,可將無移動或靜止圖像的臨 界選擇成視頻通訊中的全部活動圖像之1 0 %到1 5 % (就資 -41 - 200814679 料體積而言)。 封包通訊裝置可另外包括實施控制器,其被組配成若 偵測器已偵測到進來封包中的特徵化內容時,則執行進來 封包的調整,以產生經調整封包和輸出經調整封包。調整 包括例如無聲封包或舒適雜訊封包的形式之延遲的插入。 另一選擇是,調整可包括重複實施先前已實施之封包。結 果,可適時補償封包緩衝器中所接收到的進來封包之延遲 和延遲變化,及經調整封包是接受方可接受的品質。 參考下面的圖式和討論可更加明白本發明的特徵和優 點。 圖1 0 A爲具有適應性跳動緩衝設計的第一示範習知 技術封包語音通訊配置(第一習知技術配置)之方塊圖。如 圖1 〇 A的例子所示一般,第一習知技術配置包括經由網 路1 003連接的發送器側裝置1091和接收器側裝置 1 092。各個發送器側裝置1091和接收器側裝置1〇92可表 示電話、行動電話、或電訊會議裝置。 發送器側裝置1 〇 9 1可包括下面組件:速度緩衝器 1 0 0 0、語音活動偵測器1 0 0 1 (V A D 1 0 〇 1 )、及發送器 1 002。將這些組件說明如下: 速度緩衝器1 〇 〇 〇可被組配成從麥克風接收語音封包 (封包)、緩衝封包、然後傳輸經緩衝封包到VAD 1 00 1。 可VAD 1001可被組配成當從速度緩衝器1〇〇〇所接 收的封包中具有無聲(即、語音封包之間的時間週期)時插 入無聲描述符(SID)。 -42- 200814679 發送器1 002可被組配成從VAD 1 000接收封包且傳 輸封包到網路1 0 0 3。 接著,網路1 003可將封包傳輸到接收器側裝置 1 092 ° 接收器側裝置1 092可包括下面組件:封包緩衝器 1004、封包實施控制器1〇〇5、延遲插入控制器1〇〇6、延 遲資訊模組1 〇 0 7、跳動計算機1 〇 〇 8、及實施延遲計算機 1 009。將這些組件說明如下: 封包緩衝器1 004可被組配成從網路1〇〇3接收封包、 緩衝封包、然後發送封包到跳動計算機1 008、延遲插入 控制器1 006、及封包實施控制器1〇〇5。 跳動計算機1 008可被組配成計算封包中的跳動尺 寸。跳動可表示無聲,即沒有資料的兩語音封包到達之間 的時間週期。 延遲插入控制器1 006可被組配成依據發送器側裝置 1091的VAD 1001插入在封包中的SID以決定何時插入延 遲。延遲插入控制器1 006可接收來自跳動計算機1 00 8的 跳動尺寸資訊,且可接收來自封包緩衝器1 004的封包。 實施延遲計算機1 009可被組配成接收來自跳動計算 機1 008的跳動尺寸資訊。依據跳動尺寸資訊,實施延遲 計算機1 009可計算欲插入到封包的延遲尺寸。 延遲資訊模組1 007可被組配成統合來自延遲插入控 制器1 006的有關插入延遲的時序之資訊和來自實施延遲 計算機1 009的有關延遲的尺寸之資訊◦因此,延遲資訊 -43- 200814679 模組1 007可建立經統合資訊到資料結構內和發送資料結 構到封包實施控制器1 005。 封包實施控制器1 005可被組配成根據從延遲資訊模 組1 007所接收的資料結構接收來自封包緩衝器1〇〇4的封 包及插入延遲到封包。 圖10B爲圖10A的例子中所示之第一習知技術配置 中所利用的習知技術跳動緩衝設計之發送器側處理的流程 圖。發送器側處理開始於步驟1 060,在該步驟中,速度 緩衝器1〇〇〇(圖10A所示)可接收例如來自傳輸方所使用 的麥克風之封包。然後,速度緩衝器1 000可緩衝封包。 在步驟1 062中,速度緩衝器1〇〇〇可將以預設將各個 封包的標示符號位元設定爲〇。當各個封包到達最後步驟 1 0 72時,若封包是說話乍現的第一語音封包,則將封包 的標示符號位元設定成1。否則,可將標示符號位元保持 爲〇。 在步驟1 064中,VAD 1001可決定封包是否包含一或 多個無聲週期(即、在封包之間沒有資料的一或多個週 期)。若封包包含一或多個無聲週期,則控制移轉到步驟 1 0 74 ;若未包含,則控制移轉到步驟1 066。 在步驟1 074中,VAD 1001可決定是否已在封包中設 定 SID。S ID(無聲描述符)被組配成標示無聲週期的開 始。若已爲封包中的無聲週期設定S ID,則控制直接移轉 回到1 072 ;若尙未設定,則在開始移轉到步驟1072前將 控制移轉到步驟1 076。在步驟1 076中,VAD 1001可爲 -44- 200814679 封包產生SID。在步驟1072中,發送器1002(圖10A所示) 可傳輸封包到網路1 0 0 3。 在步驟1 066中,VAD 1001可決定在無聲週期之後封 包是否包含第一語音封包。若封包包含第一語音封包,則 控制移轉到1 068,在該步驟中VAD 1001可將第一語音封 包的標示符號位元設定成1。若封包未包含第一語音封 包,則控制移轉到步驟1 072,在該步驟中,發送器1002 可傳輸封包到1 〇 0 3。 圖1 0C爲習知技術延遲計算處理的流程圖。延遲計算 處理可以是用於圖1 0 A所示之第一習知技術配置的接收 器側裝置1 092中之接收器側處理的一部分。延遲計算處 理可被執行包含圖10A的例子所示之接收器側裝置1092 的封包緩衝器1 004,延遲插入控制器1 006跳動計算機 1 00 8、實施延遲計算機1 009、及延遲資訊模組1 007。 延遲計算處理可開始於步驟1 022,在該步驟中,封 包緩衝器1 004可接收來自網路1 003的封包並且緩衝封 包。例如,封包可表示步驟1072(圖10B所不)中發送器 1 0 0 2 (圖1 0 A所示)所傳輸的封包。 在步驟1 024中,跳動計算機1 008可計算平均跳動 j ° 在步驟1 026中,跳動計算機1 008可計算跳動偏差 v ° 在步驟1028中,實施延遲計算機1009可使用j及v 及依據以f(j,v)所表示的網路模型以計算實施延遲(即、 -45- 200814679 延遲 d = f(j,v))。 在步驟1030中,延遲插入控制: 衝器1 004是否是空的。若封包緩衝 制移轉到步驟1 〇 3 8 ;若不是空的 1 032 ° 在步驟1032中,延遲插入控制 疋値1的標不符號位元。若已設定個 則可將控制移轉到步驟1 〇 3 8 ;若未 到 1034。 在步驟1 03 4中,延遲插入控制 是否有SID。若具有SID,則控制移 具有,則控制移轉到步驟1 〇 3 6。 在步驟1 03 6中,延遲插入控制 動j是否大於預設臨界。例如,此虔 器1 004的長度。 若平均跳動j大於預設臨界 1 0 3 8 ;若未大於,則控制直接移轉到 在步驟1 03 8中,延遲資訊模組 的尺寸和時序資訊,然後將控制移轉 在步驟1 040中,可將有關插7 施控制器1 005。 圖1 0D爲習知技術封包實施控 包實施控制處理可以是用於圖1 0 A 配置的接收器側裝置1 〇92中之接 1 0 0 6可決定封包緩 器1 004是空的,則控 ,則控制移轉到步驟 器1 006決定是否已設 ί 1的標示符號位元, 設定,則將控制移轉 器1 006可決定封包中 轉到步驟1 03 8 ;若不 器1〇〇6可決定平均跳 I臨界可以是封包緩衝 ,則控制移轉到步驟 丨步驟1 0 4 0。 1 007可統合插入延遲 L到步驟1 0 4 0。 、延遲的資訊輸出到實 制處理的流程圖。封 所示之第一習知技術 〔器側處理的一部分。 -46- 200814679 可由圖1 0 A所示的封包實施控制器1 〇 〇 5執行封包實施控 制處理。 封包實施控制處理開始於步驟1 042,在該步驟中, 封包實施控制器1 005可從封包緩衝器1〇〇4(圖l〇A所示) 接收封包,和可從延遲資訊模組10〇7(圖10A所示)接收 有關插入延遲的資訊當作步驟1 040的結果(圖10C所 示)。 在步驟1044中,封包實施控制器1005可決定是否已 插入足夠的封包。若已插入足夠封包,則控制移轉到步驟 1 048 ;若未插入足夠封包,則控制移轉到步驟1 046。 在步驟 1046中,封包實施控制器1005可插入延遲 (如、以無聲封包或舒適雜訊封包的形式)到從封包緩衝器 1 〇 〇 4所接收到的封包。 在步驟1048中,封包實施控制器1005可檢索來自封 包緩衝器1 〇 〇 4的封包。 在步驟1 0 5 0中,封包實施控制器1 004可實施從步驟 1 046及1 048所產生的封包。WiFi - Honeycomb Messaging When there is a telephone conversation with 8 0 2. 1 1 The user in the network has not arrived. 8 02. 1 1 When the outside of the building is connected or insufficient, the call is sent to the cellular network. The decision by the user to make a communication call is based on 802. 1 1 Signal strength, channel load, and speech quality criticality. Once the decision is made, the decision is passed to the server that initiates the call to the user on the cellular network. The user checks the caller id (identification symbol) of the incoming call, with 8 02. 1 1 Dialer id comparison, if there is a match, accept the cellular phone and discard 8 0 2. 1 1 phone foot. On the server side, the server is dropped to the user's 80. 1 1 phone foot, patched to another speaker's 802. 1 1 phone foot. Source when the mobile phone user is at 802. 1 1 When the network is idle, 802. 1 1 Fan You connect to sleep. Before going to sleep, the phone tells the AP that the phone wants to pass 802. 1 1 Set the source bit in the header to go to sleep. The AP receives the frame and informs the user of the desire to enter the mode source mode -25- 200814679. In the user's 802. 1 1 When the mini-connector is asleep, the AP starts buffering packets for the user. The mini-connector has very low power consumption while asleep. You connect and periodically wake up to receive periodic help-transmissions coming in from the access point. The source user needs to be awake to receive help when transmitting for help. TSP (Time Synchronization Function) ensures that the AP and the section source user are synchronized. The TSP timer remains operational while the base station is asleep. These calls identify whether the sleeping base station has AP-packed packets and waits to be shipped to their respective destinations. When there is no incoming call for a long period of time, 802. 1 1 Mini connected to sleep. The mini-connector wakes up periodically to detect the AP's network connection. If it does not exist, the mini-connector returns to sleep. In this case, the mini-connector sleeps longer than the previous example. B. Acoustic Echo Cancellation Based on Encoder/Decoder One or more embodiments of the present invention are related to means for canceling signals. The device can include an identification code (ID code) generator that is configured to generate an ID code. The apparatus can also include an ID code injector configured to inject an ID code into at least one of the signal and the processed signal to produce a whirling signal. The processed signal is produced by the processing of the signal. The apparatus can additionally include an ID code detector configured to detect at least one of a transition of the whirling signal, the transformed signal, and the whirling signal, the transformed signal being resulting from a transformation of the whirling signal. The apparatus may additionally include an arithmetic function that is configured to remove at least one of the whirling signal and the variable number. 4 depicts a method of acoustic echo cancellation based on an encoder/decoder in accordance with one or more embodiments of the present invention. -26- 200814679 When both the near-end and far-end talkers are talking, it is difficult to distinguish between the far-end speaker’s head and the near-speaker’s vocabulary, because both exist in The near-end signal input of the same human speech feature. In this application, a new method is proposed to deal with acoustic feedback, which is quite different from the current AEC. An embodiment of the invention is a method for canceling echo during communication between a first node and a second node. The method includes injecting a password into the signal input of the first node. In accordance with one or more embodiments of the present invention, the first node is a network device used by a remote user and the second node is a network device used by a near end user. In accordance with one or more embodiments of the present invention, the first node is the network device used by the near end user and the second node is the network device used by the remote user. In accordance with one or more embodiments of the invention, a password is injected into the remote signal input. Thus, multiple echoes of the signal or far-end signal are carried on this password and arrive at the near-end signal input. The near-end signal in turn includes the near-end speaker voice. Because the password is only carried on the echo of the far-end signal rather than the voice of the near-end speaker, the password can be used as the echo itself and helps us distinguish between the near-end speaker voice. Some kinds of matched filters, such as association or other means, can be used to cryptographically recognize the echo of the far-end signal and the near-end speaker speech and remove them. A final echo-free signal will be generated at the far-end signal output. There are two important implementation considerations for this new design effort. One of the considerations is how to choose and design a password' and another consideration is how to inject the password into the far-end input signal. Both considerations should not allow end-to-end acceptance. -27- 200814679 The listener perceives the same consideration of the password. When someone speaks in front of the microphone, not only the voice of the person but also a certain degree of noise will enter the microphone. However, because the speaker's voice obscures background noise, this background noise usually does not interfere with the listener. As long as the background noise remains low and the SNR (signal-to-noise ratio) remains above a certain critical level, background noise does not become an influential factor. In fact, background noise is always present in actual today's voice communications. According to the above facts, first, the password can be converted into a virtual random noise called “crypto random noise.” Then, the existing background noise is removed from the far-end signal input, and the password random noise is inserted into the far end. Signal input. The near-end listener does not hear any difference as long as the new SNR remains above a certain threshold. According to one or more embodiments of the invention, the injector shown in Figure 4 scrambles the password into a virtual random Noise, remove the existing background noise in the far-end signal input, and then insert the password random noise. Because the echo will exist only when the far-end speaker is speaking, the far-end signal detector will detect the far-end signal. The cryptographic generator is present and triggered. The cryptographic pilot can include the cipher timing and phase. The crypto pilot detector is used to detect the cryptographic pilot carried on the echo of the far-end signal, and because of the variable echo path, It is also used to adjust the cipher delay to the matched filter. The cipher pilot detector will eventually need to be scrambled. The cipher and cipher pilot can be designed as a cipher detector and The matched filter easily recognizes the echo of the far-end signal with this cipher and its pilot' and then removes these echoes. In addition, a non-linear processor can be used after the matched filter to further reduce the residual echo and improve AEC performance. 200814679 The features and advantages of the present invention will become more apparent with reference to the following drawings and discussion. Echo is a major problem in communication. As discussed in the background of the invention, in the prior art, a filter (or echo canceller) can be used. It is used to model the attempt to provide a signal to eliminate the echo path of the echo. Figure 8A is an exemplary prior art communication device 800 including a filter 8 1 4 (or echo canceller 8 14) for echo cancellation (known techniques) A block diagram of apparatus 800). As shown in the example of FIG. 8A, conventional technique device 800 can include a signal receiver 802 for receiving a far-end signal from a remote (or far-end) (eg, signal y' And a signal transmitter for transmitting a signal (eg, signal z) to a remote location. The prior art device 800 further includes a speaker 806 for playing the received signal to the prior art device 800. The user (ie, local or near-end party); and the microphone 810 are used to collect near-end signals (eg, signal x, which may include local voice and background noise). The prior art device 800 includes buffering. 8 1 2 for buffering the signal received from the signal receiver 802; and a filter 8 1 4 for modeling the echo path 8 0 8 between the speaker 8 06 and the microphone 8 1 0 The signal buffered in the buffer 8 1 2 is processed. The echo path 800 8 may represent multiple paths of delay, attenuation, reverberation, etc., for example, converting the signal y to yl, etc. The prior art device 800 additionally includes a sum. The function 8丨6 is used to subtract the output of the filter 8丨4 from the output of the microphone 810. The prior art device 8 00 additionally includes a signal feedback path for feeding back the output -29-200814679 of the sum function 816. Go to filter 8 1 4 . The signal (e.g., signal y') received by signal receiver 82 can be forwarded to speaker 806 and buffer 812. Filter 814 receives the signal from buffer 812, processes the signal using the model of echo path 8000 to produce a cancellation signal (e.g., a function of x2, y'), and transmits the cancellation signal to summation function 8 16 . Next, the sum function 8 16 subtracts the cancellation signal (eg, x2 = f(y')) received from the filter 814 from the signal received from the microphone 8 1 0 (eg, xl=x + yl). A subtraction signal (e.g., z) is generated and a subtraction signal is sent to the signal transmitter 8 1 8 . The output of the sum function 8 16 is fed back to the filter 8 1 4 to update and improve the echo path model in the filter 8 1 4 . The retro-removal method implemented in the conventional configuration 800 will be described with further reference to FIG. 8B. Figure 8B is a flow diagram of an exemplary prior art method for eliminating echo in a prior art device 800 (shown in Figure 8A). The method of Figure 8B shows that the method begins in step 850 with the receiver 802 (shown in Figure 8A) transmitting a signal y. Then, control is moved to steps 8 52 and 8 54. At step 8 52, speaker 806 (shown in Figure 8A) receives signal y. In step 156, microphone 81 (shown in Figure 8A) receives signal yl plus the near-end signal X. The signal y 丨 represents a deformation signal due to the signal y generated by delay, attenuation, reverberation, or the like. Delay, attenuation, reverberation, etc. are generated by the echo path 808 between the speaker 806 and the microphone 8 8 (shown in Figure 8A). The signal X includes the local voice plus the local surroundings picked up by the microphone 8 i 〇 Background noise. Then, the signal X 1 representing the combination of the signal y 1 and the signal X is sent to the sum function 8 i 6 (shown in FIG. 8A) ^ - 30 - 200814679 In step 8 5 4, the buffer 8 1 2 receives the signal again. y '. In step 558, filter 814 processes signal y' using the model of echo path 808 to generate a signal 'which is a function of 'y', eg, f(y')' and then sends this to sum function 8 1 6 ( Figure 8 A)). In step 860, the sum function 8 16 subtracts the signal X 2 from the signal X 1 to produce the signal z. Ideally if 'f(y') is equal to y1' then z will be equal to x, which is the near-end signal associated with the far-out of the echo (represented by y1). However, the model of the echo path 808 implemented in filter 814 may be inaccurate, typically z is not equal to z. In step 826, the sum function 8 16 sends the signal z to the signal transmitter 8 1 8 that passes z to the far side. In step 864, the sum function 8 16 feeds the signal z back to the filter 8 1 4 to update and improve the echo path model utilized in step 851. The feedback of the signal z and the associated calculations and updates cause the filter 8 1 4 to require additional processing time or processing power. The quality of the signal z (i.e., the error of the signal z associated with the signal X) depends on the echo path model and algorithm implemented in the filter 814 and the memory and processing power of the computing device implementing the filter 814. Corrective modeling of echo path 808 (e.g., by executor of filter 814) in relation to prior art devices, configurations, and methods (as shown by the prior art device 800 of FIG. 8A and the method of FIG. 8B). It is important to effectively eliminate echo. However, the established echoes, the reverberation of the surrounding noise, and/or other factors, the echo path 800 is dynamic and therefore difficult to accurately model. As a result, conventional techniques, configurations, and methods are not effective. -31 - 200814679 In addition to echo. The prior art devices, configurations, and methods additionally face bilateral conversations where the local (or near-end) and distant (or far-end) simultaneous speech. Since the local speech and the distant speech have similar vocal characteristics, the filter 8 1 4 cannot accurately identify which signal is to be input to the model of the echo path 808. As a result, the speech portion of the locality may be eliminated, and the echo portion is not eliminated, and the error of the echo path model in the filter 8 14 may become divergent instead of convergence, resulting in undesirable communication quality. Therefore, many resources have been invested in the prior art to improve the algorithm for modeling the echo path 8000. In addition, the filter 1 1 4 requires a large amount of data memory and CPUs that require high processing power. As a result, a high cost of implementing echo cancellation is generated. In contrast, one or more embodiments of the present invention include a device for canceling signals even if no filters are provided. In one or more embodiments, the signal represents a digital signal. The device includes an identification code (ID code) generator that is configured to generate an ID code. The device in turn includes an ID code injector that is configured to inject an ID code into at least one of the signal and the processed signal to produce a whirling signal. The processed signal is produced by the processing of the signal, such as the removal of background noise. The apparatus additionally includes an ID code detector configured to detect at least one of a transition of the whirling signal, the transformed signal, and the whirling signal, wherein the transformed signal is produced by a transformation of the whirling signal. The transformation of the whirling signal can be caused by the configuration of the device and/or the environment. For example, the transition of the whirling signal indicates the delay produced by one or more echo paths between the speaker and the microphone of the device; the transformed signal represents the delayed signal present at the delay. The device additionally -32- 200814679 includes an arithmetic function 'which is configured to remove at least one of the whirling signal and the transformed signal. Figure 9A is a block diagram of a communication device 900 (device 900) that cancels echo even if no filters are provided, in accordance with one or more embodiments of the present invention. The block diagram again shows a communication system or configuration having the components shown in Figure 9A implemented in one or more devices. Apparatus 900 includes input/output components, such as signal receiver 904 for receiving remote signals from a remote location, signal transmitter 93 2 (to transmit signals to a remote location), speaker 914, and microphone 916 (local microphone 916), etc. . There is an echo path from speaker 914 to microphone 916. 90 8 Device 900 may also include a signal processing module, such as background noise remover 906 and the like. The background noise remover 906 can be configured to remove background noise from signals received from the signal receiver 904. The background noise remover 906 can be implemented using one or more well-known algorithms such as spectral subtraction for background noise removal. Device 900 can also include a module for canceling echo. The module can include an identification code generator 922 (ID code generator 922), an identification code injector 910 (ID code injector 910), an identification code detector 924 (ID code detector 924), and a buffer 926. The module may also include a transform module, such as a delay 92 8 , for example to transform signals, introduce delays. The module may also include an arithmetic function such as, for example, a sum function 93 0 and the like. The ID code generator 922 can be configured to generate a controllable and removable ID code such that a portion of the signal can be identified. This part of the signal is then removed, for example, for echo cancellation -33-200814679. The ID code can represent a virtual random code that can simulate background noise or mitigate noise. The ID code generator 922 can include a linear feedback shift register for generating a virtual random noise sequence to be used as an ID code. Additionally, the ID code can include high frequency or low frequency signals that are not detectable by the human ear. In one or more embodiments, the sampling rate of the microphone 916 can be grouped into, for example, by hardware and/or software (or drive tracing) to process the local or low frequency. In one or more embodiments, the device 900 may not include the background noise remover 906 by virtue of an ID code indicating a signal that is not detectable by the human ear. The ID code injector 910 may be configured to have the ID code generator 922 The generated ID code is injected into the signal, and can be implemented by a well-known algorithm such as a digital correlation method such as inserting an ID code into the signal, for example, by rotating the ID code and the signal to generate a whirling signal. ID code injector 910 〇 ID code detector 924 can be configured to detect an ID code within a whirling signal, such as in a mix, overlay, and/or another whirling signal that includes one or more other signals. The ID code detector 924 can be configured to detect the transformed signal and/or ID code generated by the transformation of the whirling signal; for example, the configuration and/or environment of the device 900 can be transformed. The detector 924 can be configured to detect transforms. The transform can include delays The signal code detector 924 can implement one or more well-known algorithms, such as a digital correlation method or a matched filter for detecting IDs, etc. The delay 928 can be configured into The delay is introduced into the signal. The delay -34-200814679 can be used for analog conversion. The delay 928 can be implemented by introducing a simple delay line shift register for delay. Each noise remover 906, ID code generation The 922, the ID code injector 910, the ID code detector 924, and the delay 92 8 are all included in a user device (eg, for acoustic echo cancellation) that can be downloaded to, for example, a telephone, a mobile phone, a teleconferencing device, And/or in a software device (e.g., for line or network echo cancellation). Figure 9B is an ID code generation for device 900 (shown in Figure 9A) in accordance with one or more embodiments of the present invention. A block diagram of the 922. The ID code generator 922 may be included only in the code generator 921 that will directly generate a random code. In this example, such as by linearly selecting a shift register by carefully selecting an appropriate feedback function, etc. Some well-known algorithms implement code production The ID code generator 922 may include a code generator 921 that is accompanied by a random function generator 923. In this example, first, the code generator 921 may generate an appropriate identification code without fear of randomization occurring. Then, This identification code is fed into the random function generator 923 to become a virtual random noise sequence that is the output of 922. The modified linear feedback shift register can be implemented by the feedback function controlled by the code generator 92 1 to implement randomization. Function Generator 923 Figure 9C is a flow diagram of a method for canceling, for example, echo in device 900 (shown in Figure 9A) in accordance with one or more embodiments of the present invention. The method begins in step 9 5 2 ' in this step, the signal receiver 904 (not shown in Fig. 9A) can receive the shank number y'(n) from a distance. 35- 200814679 In step 954, the noise remover 906 can remove background noise from y'(n), producing a signal y(n). In order to leave space for the ID code including random noise, background noise can be removed. Therefore, this place does not receive excessive noise. In step 958, ID code generator 922 (shown in Figure 9A) may generate an ID code c(n). The ID code c(n) can represent a known and controllable function. In step 95 6 , the ID code injector 91 0 (shown in Fig. 9A) can inject the ID code c(n) into the signal y (η). As a result, a convolution of C (η) and y (η) can be produced. For example, the wrap of c(n) and y(n) may be the whirling signal c(n)*y(n). Control is then transferred to step 962 and step 980. In step 962, speaker 914 (shown in Figure 9A) can receive a whirling signal c(n)*y(n). In step 964, microphone 916 (shown in Figure 9A) can receive a delayed signal, i.e., signal c(n-d)*y(n-d), from speaker 914. The microphone 916 can also pick up another input signal x(n) that includes the local voice (e.g., in a bilateral call plan) and/or background noise surrounding the microphone 916. The microphone 916 can then output the combined signal x(n) + c(n-d)*y(n-d) to the ID code detector 924 (shown in Figure 9A) and the sum function 93 0 (shown in Figure 9A). In step 980, buffer 926 (shown in Figure 9A) may buffer a copy of the whirling signal c(η) * y (η) and output a copy of the gyroscopic number to delay 928. In step 966, the ID code detector 9 2 4 (shown in FIG. 9A) can detect the ID code c(nd) in the combined signal x(n) + c(nd)*y(nd). 'And assuming that c(n) is a known and controllable function, the delay amount d° can be determined by comparing c(n) and c(nd) received from the 1D code generator 922. - 200814679 The delay amount d is fed to the delay 928 (shown in Figure 9A). In step 982, delay 928 (shown in Figure 9A) may introduce delay amount d from the output of buffer 926 (i.e., a copy of c(n)*y(?)) from step 980 to produce c(nd)*y. A copy of (nd). In step 990, the sum function 93 0 (shown in Figure 9A) may subtract the output of step 982 (i.e., the signal) from the output of step 964 (i.e., signal x(n) + c(n_d)*y(nd)). Generate a copy of c(nd)*y(nd)). In other words, in step 99, the sum function 93 0 calculates the signal x(n) + c(nd)*y(nd)-c(nd"y(nd) to obtain the signal χ(η), which represents the absence of the signal The echo of y'(n) (represented by signal y(nd)) is the input signal picked up by the receiver microphone 916 (shown in Figure 9A). The signal χ(η) may include speech such as in a bilateral call scenario And/or background noise around the microphone 916. In step 992, speech such as local to the bilateral call plan and/or background noise around the microphone 916 and signal x(n) not containing the echo are included. It can be sent to the signal transmitter 93 2 . Thus, the echo in the unilateral call and the bilateral call scheme can be effectively eliminated. As can be understood from the above, the embodiment of the present invention can effectively eliminate the echo without requiring the prior art device and configuration. , or a filter (or echo canceller) required in the method. Embodiments of the present invention can provide more accurate echo cancellation and faster cancellation, while avoiding possible errors in filter-dependent echo path modeling, , get better service quality In addition, embodiments of the present invention can effectively eliminate echo in a bilateral talk scheme where conventional filters are generally poorly implemented. -37- 200814679 Under the practical complexity of not relying on filters and without echo path modeling, Embodiments of the present invention may also advantageously eliminate the need for high CPU processing power and large data memory required for the filter, thereby reducing the cost of implementing echo cancellation. The content-based jitter buffering scheme for video over IP communications, without relying on filter and associated echo path modeling complexity, also advantageously removes the high CPU processing power required by the filter. And the need for large data memory to reduce the cost of implementing echo cancellation. C. Content-Based Bounce Buffer Design for IP Voice/Video Communication Design One or more embodiments of the present invention provide a mechanism to handle excessive WLAN jitter using audio VAD and jitter compensation. One or more embodiments of the present invention also operate for video that is used with no or no movement and packet bounce. One or more embodiments of the invention are related to packet communication devices. The packet communication device can include a detector that is configured to detect the characterization content in the incoming packet received by the packet communication device. The packet communication device can additionally include an implementation controller that is configured to perform an adjustment of the incoming packet to produce an adjusted packet and an output adjusted packet if the detector has detected the characterization content in the incoming packet. A new jitter buffer design called a content-based jitter buffer is proposed to address the current jitter buffering technique limitations. In accordance with one or more embodiments of the present invention, not only the RTP header information of incoming packets is noted, but also the RTP payload content of -38-200814679 is noted to identify the silent and speechal presence on the incoming packet. A clue is then generated based on this silence and speech to determine when an implementation delay can be inserted to compensate for network packet bounce. With this new design, the jitter buffer on the receiver side will no longer rely on the silent suppression of the transmitter. Figure 5 A-B is a high-order schematic diagram of the jitter buffer architecture. The path of the packet will be tracked via the function block in the Voice Quality Engine (VQE). The purpose here is to introduce an adaptive debounce controller to make the implementation equal. A similar design can be used to handle video jitter. In one of the conventional technique bounce buffer designs, the medullary reception VAD (Voice Activity Detection) is used to prevent the bounce buffer from overflowing. In other words, when a silent or speech cues reaches the maximum length, an unvoiced or spoken cues are used to embed the bounce buffer. Differences between new and conventional technology designs include silent or speech, which is now used to control when insertion delays can be inserted to compensate for network packet bounce. Thus, in accordance with one or more embodiments of the present invention, silent or speech detection will become an important part of the jitter buffer design. In some cases, when the bounce buffer becomes an overflow, it is too late to make any adjustments. Here's how to apply this content-based bounce buffer device and method to a working application. Both voice and video examples are explained below. Figure 5A is a block diagram of a speech hopping buffer in accordance with one or more embodiments of the present invention. The core jitter buffer includes one or more components for packet queues, packet implementation, jitter calculation, and jitter compensation. Here, the decoder and VAD will produce silent and speech indicators. The Silent -39-200814679 or Speaking Indicator is then fed back to the Bounce Compensation section and used to determine when the insertion is silent to compensate for network packet bounce. Figure 5B is a block diagram of a video hopping buffer in accordance with one or more embodiments of the present invention. The core jitter buffer is similar to the core jitter buffer of speech except that when the video frame is not moved or the movement is extremely low, the insertion delay is implemented. Here, after the decoder, the motion estimation and motion compensation will produce the remaining frames. From this remaining frame, some specific thresholds can be added to form a no-movement indicator. The no-movement indicator is then fed back to the jitter compensation portion and used to detect when the insertion is silent to compensate for network packet bounce. In the video, the insertion implementation silently actually stops the implementation of the new frame while repeating the previous video frame. As noted above, issues such as packet delay (i.e., packet arrival late), packet delay variation, and packet loss have a negative impact on quality of service (QoS) in packet communications. Packet delay and packet delay variation can also be considered as jitter. In order to solve these problems, in the prior art, a fixed debounce buffer is designed to compensate by periodically inserting a delay (ie, a silent packet or a comfort noise packet) when implementing a packet from a packet buffer. The late arrival of the packet. However, with a fixed debounce design, excessive insertion delays between voice packets can result in abrupt speech. In the prior art, a transmitter side voice activity detector (VAD) can also be used for adaptive insertion delay to compensate for packet delay and packet delay variation. However, some user devices do not support the transmitter side VAD. In addition, for example, when the transmission party is performing music playback, since the music interruption is regarded as silent and inappropriate processing, if it is the existing VAD calculation -40-14871679 method, the transmitter side VAD may generate unwanted noise or Mutant language. As another example, when the transmitting party uses G with the open transmitter side VAD.  When the 7 2 9 A B code/decoder plays some music, the user on the receiver side will perceive the distorted music. Therefore, the packet communication service provider usually turns off the transmitter side VAD' and cannot compensate for packet delay and packet delay variation. As a result, the fixed debounce buffer design is still used, and the quality of service is still not what the receiver wants. In addition, the receiver side silent detector can be used to control the packet buffer overflow in the prior art to prevent packet loss. However, according to the combination in the prior art, the voice packet is discarded, so that the packet buffer is almost full when it is full or full. This quality of service is not what the receiver wants. Conversely, embodiments of the present invention may utilize receiver side silent detectors to compensate for delay and delay variations in a timely manner, and adaptively implement packets from the packet buffer. Advantageously, the transmitter side V A D is not required to provide the desired quality of service. Additionally, one or more embodiments of the present invention may utilize a receiver side video detector to adaptively handle jitter in video communications. In one or more embodiments, the present invention is directed to a packet communication device, and the device can include a detector configured to detect characterized content in an incoming packet received by the packet communication device. The characterization content can represent a silence in the voice communication (e.g., a time period in which the received voice packet is not received). Another option is that the 'characterized content can represent at least one of a lower than critical movement or no movement. For example, the border of no moving or still image can be selected as 10% to 15% of all moving images in the video communication (in terms of the volume of -41 - 200814679). The packet communication device can additionally include an implementation controller configured to perform an adjustment of the incoming packet to generate the adjusted packet and output the adjusted packet if the detector has detected the characterization content in the incoming packet. Adjustments include delayed insertions in the form of, for example, silent packets or comfort noise packets. Alternatively, the adjustment may include iteratively implementing a previously implemented packet. As a result, the delay and delay variations of the incoming packets received in the packet buffer can be compensated in a timely manner, and the adjusted packets are of acceptable quality to the recipient. Features and advantages of the present invention will become more apparent from the following description and discussion. Figure 10A is a block diagram of a first exemplary conventional technology packet voice communication configuration (first prior art configuration) with an adaptive jitter buffer design. As shown in the example of Fig. 1A, in general, the first prior art configuration includes a transmitter side device 1091 and a receiver side device 1 092 connected via a network 1003. Each of the transmitter side device 1091 and the receiver side device 1 〇 92 can represent a telephone, a mobile phone, or a teleconference device. The transmitter side device 1 〇 9 1 may include the following components: a speed buffer 1 0 0 0, a voice activity detector 1 0 0 1 (V A D 1 0 〇 1 ), and a transmitter 1 002. These components are described as follows: Speed buffer 1 〇 〇 〇 can be configured to receive voice packets (packets) from the microphone, buffer packets, and then transmit buffered packets to VAD 1 00 1. The VAD 1001 can be configured to insert a silent descriptor (SID) when there is no sound in the packet received from the speed buffer 1 (i.e., a time period between voice packets). -42- 200814679 Transmitter 1 002 can be configured to receive packets from VAD 1 000 and transmit packets to network 1 0 0 3 . Next, the network 1 003 can transmit the packet to the receiver side device 1 092 °. The receiver side device 1 092 can include the following components: a packet buffer 1004, a packet implementation controller 1〇〇5, and a delay insertion controller 1〇〇 6. Delay the information module 1 〇 0 7. Bounce the computer 1 〇〇 8, and implement the delay computer 1 009. These components are described as follows: Packet buffer 1 004 can be configured to receive packets from network 1〇〇3, buffer packets, then send packets to jitter computer 008, delay insertion controller 1 006, and packet implementation controller 1〇〇5. The beat computer 1 008 can be configured to calculate the jitter size in the packet. Bounce can indicate silence, that is, the time period between the arrival of two voice packets without data. The delay insertion controller 1 006 can be configured to determine the insertion delay in accordance with the SID inserted in the packet in accordance with the VAD 1001 of the transmitter side device 1091. The delay insertion controller 1 006 can receive the jitter size information from the jitter computer 1008 and can receive the packet from the packet buffer 1 004. The implementation delay computer 1 009 can be configured to receive jitter size information from the jitter computer 008. Based on the jitter size information, the implementation delay computer 1 009 calculates the delay size to be inserted into the packet. The delay information module 1 007 can be configured to integrate information about the timing of the insertion delay from the delay insertion controller 1 006 and the size of the delay from the implementation delay computer 1 009. Therefore, the delay information is -43-200814679 Module 1 007 can establish integrated information into the data structure and send the data structure to the packet implementation controller 1 005. The packet enforcement controller 1 005 can be configured to receive packets and insertion delays from the packet buffers 〇〇4 to the packets based on the data structure received from the delayed information module 007. Figure 10B is a flow diagram of the transmitter side processing of the prior art jitter buffer design utilized in the first prior art configuration shown in the example of Figure 10A. The transmitter side processing begins in step 1 060, in which the speed buffer 1 (shown in Figure 10A) can receive, for example, a packet from a microphone used by the transmitting party. The speed buffer 1 000 can then buffer the packet. In step 1 062, the speed buffer 1 设定 can set the flag bit of each packet to 〇 by default. When each packet reaches the last step 1 0 72, if the packet is the first voice packet that is spoken, the flag bit of the packet is set to 1. Otherwise, the marker symbol can be kept as 〇. In step 1 064, VAD 1001 may determine whether the packet contains one or more silent periods (i.e., one or more periods of no data between packets). If the packet contains one or more silent periods, then control transfers to step 1 0 74; if not, control transfers to step 1 066. In step 1 074, the VAD 1001 can determine if the SID has been set in the packet. The S ID (Speech Descriptor) is grouped to indicate the beginning of the silent period. If the S ID has been set for the silent period in the packet, then control is transferred directly back to 1 072; if not set, then control is transferred to step 1 076 before moving to step 1072. In step 1076, VAD 1001 may generate a SID for the -44-200814679 packet. In step 1072, the transmitter 1002 (shown in Figure 10A) can transmit the packet to the network 1 0 0 3 . In step 1 066, VAD 1001 may determine whether the packet contains the first voice packet after the silent period. If the packet contains the first voice packet, then control transfers to 1 068, in which VAD 1001 may set the flag bit of the first voice packet to one. If the packet does not contain the first voice packet, then control transfers to step 1 072, in which the transmitter 1002 can transmit the packet to 1 〇 0 3 . FIG. 1C is a flow chart of a conventional technique delay calculation process. The delay calculation process may be part of the receiver side processing in the receiver side device 1 092 for the first prior art configuration shown in Fig. 10A. The delay calculation process can be performed by the packet buffer 1 004 including the receiver side device 1092 shown in the example of FIG. 10A, the delay insertion controller 1 006 bounces the computer 1 00 8 , implements the delay computer 1 009 , and delays the information module 1 007. The delay calculation process can begin in step 1 022, where the packet buffer 1 004 can receive the packet from the network 1 003 and buffer the packet. For example, the packet may represent a packet transmitted by the transmitter 1 0 0 2 (shown in FIG. 10A) in step 1072 (not shown in FIG. 10B). In step 1 024, the jitter computer 1 008 can calculate the average jitter j °. In step 1 026, the jitter computer 1 008 can calculate the jitter deviation v °. In step 1028, the implementation delay computer 1009 can use j and v and the basis The network model represented by (j, v) calculates the implementation delay (ie, -45-200814679 delay d = f(j,v)). In step 1030, the insertion control is delayed: Whether the punch 1 004 is empty. If the packet buffer is transferred to step 1 〇 3 8 ; if it is not empty 1 032 ° In step 1032, the unsigned bit of the control 疋値1 is delayed. If one is set, you can move control to step 1 〇 3 8; if it is not 1034. In step 1 03 4, the delay insertion control has a SID. If there is a SID, the control shift has, and control moves to step 1 〇 3 6 . In step 1 03 6 , the delay insertion control j is greater than a preset threshold. For example, the length of this device 1 004. If the average jitter j is greater than the preset threshold 1 0 3 8 ; if not greater, the control directly moves to the size and timing information of the delay information module in step 1 0 8 , and then transfers the control in step 1 040 , the controller 1 005 can be inserted. FIG. 1D is a conventional technology packet implementation control packet implementation control process, which may be used in the receiver side device 1 〇 92 of FIG. 10 A configuration, and may determine that the packet buffer 1 004 is empty. Control, then control moves to stepper 1 006 to determine whether the flag bit of ί 1 has been set, and the setting will control the shifter 1 006 to determine that the packet is transferred to step 1 03 8; 6 can determine that the average hop I threshold can be a packet buffer, then control moves to step 1 step 1 0 4 0. 1 007 can integrate the insertion delay L to step 1 0 4 0. The delayed information is output to the flow chart of the actual processing. Sealed as the first known technique [part of the processing of the device side. -46- 200814679 The packet implementation control process can be performed by the packet implementation controller 1 〇 〇 5 shown in Fig. 10A. The packet implementation control process begins in step 1 042, in which the packet implementation controller 1 005 can receive the packet from the packet buffer 1〇〇4 (shown in FIG. 1A), and can receive the packet from the delay information module 10 7 (shown in FIG. 10A) receives information about the insertion delay as a result of step 1 040 (shown in FIG. 10C). In step 1044, the packet enforcement controller 1005 can determine if sufficient packets have been inserted. If sufficient packets have been inserted, control transfers to step 1 048; if sufficient packets are not inserted, control transfers to step 1 046. In step 1046, the packet enforcement controller 1005 can insert a delay (e.g., in the form of a silent packet or a comfort noise packet) to the packet received from the packet buffer 1 〇 4 . In step 1048, the packet enforcement controller 1005 can retrieve the packets from the packet buffer 1 〇 。 4. In step 1000, the packet enforcement controller 1 004 can implement the packets generated from steps 1 046 and 1 048.

圖10E爲當打開發送器側VAD 1001 (圖10A所示)時 之;包緩衝益1 〇 〇 4所接收到的封包流之槪要表示圖。如 圖1 0 E的例子所示,所接收到的封包流可包括語音封包 1080、在語音封包1〇80後面的無聲1084、接在無聲1084 後面的語音封包1 0 8 6、接在語音封包1 〇 8 6後面的無聲 1〇88等。無聲1084和無聲1088表示封包實施控制器 1〇〇5未接收到語音封包期間的時間週期。因爲打開vaD -47- 200814679 1001,所以VAD 1001已將諸如封包1080a及1086a等第 一語音封包的標示符號位元設定成1。圖1 〇 c所示的步驟 1 0 3 2中可利用値1的標示符號位元以決定何時插入延 遲。 另外,VAD 1001在無聲 1 084的一開始插入 SID 1082,及在無聲1088的一開始插入SID 1090。SID 1082 及S ID 1090亦可被用在圖10C所示的步驟1034中以決定 何時插入延遲。 圖10F爲當關掉發送器側VAD 1001 (圖10A所示)時 之封包緩衝器1〇〇4(圖10A所示)中所接收到的封包流之 槪要表示圖。因爲VAD 1001中所利用的現存演算法例如 在音樂播放時產生不想要的雜訊或突變語音,所以VAD 1 00 1 —般會被封包通訊服務供應商關掉,因此無法提供 有關語音活動的資訊。 如圖1 0 F的例子所示,所接收到的封包流包括語音封 包1092、接在語音封包1092後面的無聲封包1094、接在 無聲封包1 094後面的語音封包1 096、接在語音封包1096 後面的無聲封包1 098等◦因爲VAD 1001被關掉,所以 不爲以無聲封包1 094及無聲封包1 098爲代表的無聲週期 插入SID。結果,不執行圖10C所示的步驟1 03 4(即、偵 測 SID)。 另外,雖然語音封包1 092a具有1的標示符號位元 値,但是所有剩下的已接收封包都具有〇的標示符號位元 値。因此,不執行圖10C所示的步驟1 032(即、決定第一 -48- 200814679 封包的標示位元値是否被設定成1)。 另外,當關掉發送器側1091上的VAD 1001時’封 包可連續進來到接收器側1 092上的封包緩衝器1〇〇4 ’使 得封包緩衝器 1 004從不會是空的。因此,可視設計而 定,不執行圖10C所示的步驟1 03 0(即、決定封包緩衝器 1 004是否是空的)。 因此,當關掉VAD 1001時,延遲插入控制1〇〇6無 法爲決定插入延遲的時序執行步驟1〇3〇、1 03 2、及 1 034。雖然在圖10C所示的步驟1 03 6中,延遲插入控制 器1 006仍能夠獲得有關平均跳動j(i)是否大於預設臨界 的資訊,但是該資訊不足以決定插入延遲的時序。例如, 當平均跳動j(i)大於預設臨界時,對插入延遲已太遲。結 果,在不準確的時序中插入延遲,產生語音通訊中的突變 語音。 而且,即使打開VAD 1001現存的VAD演算法也無 法使VAD 1001能夠精確插入SID。結果,發生語音封包 的前端剪掉及/或後端剪掉,語音品質非接收方想要。 圖1 1 A爲包括適應性緩衝器溢位控制器的第二習知 技術封包語音通訊配置(第二習知技術配置)之接收器側裝 置1 1 0 0的方塊圖。如圖1 1 A的例子所示,接收器側裝置 1 1 〇〇包括圖1 〇A所示的第一習知技術配置中之接收器側 裝置1 092的組件。此外,接收器側裝置1 1 〇〇包括附加組 件1 1 8 0。附加組件1 1 8 0可包括解碼器1 1 1 8、無聲偵測器 1 1 1 6、及緩衝器溢位控制器1 1 1 4,說明如下: 49- 200814679 無聲偵測器η 16可被組配成偵測從解碼器η 18所接 收到的封包中之無聲。若具有無聲,則無聲偵測器1 1 1 6 可將無聲旗標値設定成1。若沒有無聲,則無聲偵測器 1 1 1 6可將無聲旗標値設定成0。 緩衝器溢位控制器1 1 1 4可被組配成監視封包緩衝器 1 1 02的狀態。根據封包緩衝器1 1 02的狀態,緩衝器溢位 控制器1 1 1 4可決定是否丟掉或保有在封包緩衝器1 1 〇2中 所接收的下一封包。 圖1 1 Β爲圖1 1 Α的例子中所示之接收器側裝置1 1 0 0 所利用的無聲偵測處理之流程圖。於步驟1 1 2 0開始無聲 偵測處理,在該步驟中,解碼器1 1 1 8 (圖1 1 A所示)可解 壓縮從封包實施控制器1104(圖11A所示)所接收之語音 封包(封包)。 在步驟1 1 2 4中,無聲偵測器1 1 1 6 (圖1 1 A所示)可決 定是否有無聲在接收封包中。若具有無聲,則控制移轉到 1 1 3 0,在該步驟中,無聲偵測器1 1 1 6將無聲旗標値設定 成1。若沒有無聲,則控制移轉到步驟1 1 2 6,在該步驟 中,無聲偵測器1 1 1 6將無聲旗標値設定成〇。 在步驟1 1 2 8中,無聲偵測器1 1 1 6可輸出無聲旗標 値。 圖1 1 C爲圖1 1 A的例子中所示之接收器側裝置1 1 〇 〇 中所利用的緩衝器溢位控制處理之流程圖。可由圖1 1 A 所示的緩衝器溢位控制器1 1 1 4執行緩衝器溢位控制處 理。在步驟1 1 3 2開始緩衝器溢位控制處理,在該步驟 -50- 200814679 中,緩衝器溢位控制器 1 1 14接收來自 1116(圖11A所示)的無聲旗標値。 在步驟11 3 4中,緩衝器溢位控制1 Π 4 衝器1102(圖2A所示)是否已到達第一臨 1〇〇 %等。若封包緩衝器1 102已到達第一臨 轉到步驟η 44 ;若未到達,則控制移轉到步 在步驟1 1 44中,緩衝器溢位控制器1 1 緩衝器11 02丟棄最近接收到的封包,不管 封包是否表示語音封包。緩衝器溢位控制器 令封包緩衝器11 02提供欲實施的封包。 在步驟1 1 3 6中,緩衝器溢位控制器1 1 緩衝器1 1 02是否已到達第二臨界,諸如剛 封包緩衝器1 1 02已到達第二臨界,則控< 1 1 40 ;若未到達,則控制移轉到步驟1 1 3 8。 在步驟1 1 40中,緩衝器溢位控制器1 1 聲偵測器11 1 6接收到的無聲旗標値是否是 標値是1,則控制移轉到步驟1142 ;若不是 到步驟1 1 3 8。 在步驟1 1 42中,緩衝器溢位控制1 1 i 4 衝器1 102丟棄最近收到的封包,因爲最近 示無聲。緩衝器溢位控制器1 1 1 4亦可命 1 1 02提供欲實施的封包。然後控制移轉到步 在步驟1 1 3 8中,封包緩衝器11 0 2可 包。 無聲偵測器 可決定封包緩 界,諸如剛好 界,則控制移 驟 1 1 3 6 ° 1 4可命令封包 最近接收到的 1 1 1 4亦可命 1 4可決定封包 好80%等。若 制移轉到步驟 1 4可決定從無 1。若無聲旗 ,則控制移轉 可命令封包緩 收到的封包表 令封包緩衝器 驟 1 1 3 8。 接收和緩衝封 -51 - 200814679 圖1 1 C的例子中所示之緩衝器溢位控制處理對維持服 務品質無效。例如,當封包緩衝器1 1 02到達第一臨界, 如、剛好1 0 0 %時,可根據步驟1 1 4 4丟棄語音封包。因 此,產生突變語音。另外,當封包緩衝器1 1 02到達非第 一臨界的第二臨界,如、非剛好1 0 0 %的剛好8 0 %時,封 包緩衝器1 1 02仍然接收比封包緩衝器1 1 〇2的剩下容量還 大之語音封包的資料組。結果,溢位仍舊發生,及超過封 包緩衝器1102的容量之封包(包括語音封包)仍舊會損 失。結果’服務品質非接收方所想要的。 圖12A爲根據本發明的一或多個實施例之具有適應 性跳動處理的封包語音通訊系統之接收器側裝置1 200的 方塊圖。接收器側裝置1 2 0 0可表示諸如電話、行動電 話、電訊會議裝置、聲頻播放器、或視頻電話等使用者裝 置。另一選擇是,接收器側裝置1 200可表示封包通訊網 路中的伺服器裝置。 圖12A的例子所示一般,接收器側裝置1 200可包括 一或多個下面組件:封包緩衝器1 2 0 2、封包實施控制器 1 208、解碼器1210、延遲插入控制器1214、延遲資訊模 組1216、跳動計算機1 204、和實施延遲計算機1 206。接 收器側裝置1 200可另外包括被組配成偵測特徵化內容之 偵測器,諸如偵測無聲的無聲偵測器1 2 1 2等。無聲偵測 器1 2 1 2可被組配成接收來自解碼器1 2 1 0的經解壓縮封 包。無聲偵測器1 2 1 2可另外被組配成處理經解壓縮封 包,並且經由鏈路1 299提供無聲旗標(但是非經解壓縮封 -52- 200814679 包)給延遲插入控制器1214。 可在被下載到接收器側裝置1 200內的軟體中包 或多個組件。 接收器側裝置1 200的一或多個組件可具有類似 1 1 A所示的接收器側裝置1 1 〇〇之組件的能力。然而 接收器側裝置1 1 00的無聲偵測器1 1 1 6相反地,無聲 器1 2 1 2可被組配成決定何時插入處理跳動的延遲以 控制封包緩衝器溢位,或除了控制封包緩衝器溢位之 加上此功能。 另外,與接收器側裝置1 1 00的延遲插入控制器 相反地,延遲插入控制器1 2 1 4可接收來自無聲偵 1 2 1 2的資訊以取代習知技術跳動緩衝設計中之接收 跳動計算機1 204的資訊。 延遲插入控制器1214可經由鏈路1 299直接耦合 聲偵測器1212。鏈路1 299可表示直接邏輯鏈路或實 路。與圖1 1 A的例子所示之延遲插入控制器1 1 0 8和 計算機1110之間的鏈路1199與圖10A的例子所示 動計算機1 00 8和延遲插入控制器1 006之間的鏈結 相反地,在跳動計算1 204和延遲插入控制器1 2 1 4之 有直接邏輯或實體連接。 圖1 2B爲根據本發明的一或多個實施例之用於圖 的例子所示之接收器側裝置1 200中所利用的適應性 處理所用之延遲插入控制處理圖。延遲插入控制處理 於步驟1220,在該步驟中,延遲插入控制器1214(圖Figure 10E is a schematic representation of the packet stream received by the packet buffer benefit 1 〇 〇 4 when the transmitter side VAD 1001 (shown in Figure 10A) is turned on. As shown in the example of FIG. 10 E, the received packet stream may include a voice packet 1080, a voice 1084 behind the voice packet 1 〇 80, a voice packet 1 0 8 6 following the silence 1084, and a voice packet. 1 〇 8 6 behind the silent 1〇88 and so on. Silent 1084 and Silent 1088 indicate the time period during which the packet enforcement controller 1〇〇5 has not received the voice packet. Since vaD-47-200814679 1001 is turned on, the VAD 1001 has set the sign bit of the first voice packet such as packets 1080a and 1086a to 1. The steps shown in Figure 1 〇 c can be used in 1 0 3 2 to determine when to insert the delay. In addition, the VAD 1001 inserts the SID 1082 at the beginning of the silent 1 084 and inserts the SID 1090 at the beginning of the silent 1088. SID 1082 and S ID 1090 can also be used in step 1034 shown in Figure 10C to determine when to insert a delay. Figure 10F is a schematic representation of the packet stream received in the packet buffer 1 〇〇 4 (shown in Figure 10A) when the transmitter side VAD 1001 (shown in Figure 10A) is turned off. Because existing algorithms used in VAD 1001 generate unwanted noise or abrupt speech during music playback, VAD 1 00 1 is normally turned off by the packet communication service provider and therefore cannot provide information about voice activity. . As shown in the example of FIG. 10F, the received packet stream includes a voice packet 1092, a silent packet 1094 connected behind the voice packet 1092, a voice packet 1 096 connected to the silent packet 1 094, and a voice packet 1096. The latter silent packet 1 098 is not inserted because the VAD 1001 is turned off, so the SID is not inserted for the silent period represented by the silent packet 1 094 and the silent packet 1 098. As a result, the step 1 03 4 shown in Fig. 10C is not performed (i.e., the SID is detected). In addition, although voice packet 1 092a has a sign bit 値 of 1, all remaining received packets have a 标示 sign bit 値. Therefore, step 1 032 shown in FIG. 10C is not executed (ie, it is determined whether the flag bit 第一 of the first -48-200814679 packet is set to 1). In addition, when the VAD 1001 on the transmitter side 1091 is turned off, the packet buffer continually enters the packet buffer 1 〇〇 4 ' on the receiver side 1 092 so that the packet buffer 1 004 is never empty. Therefore, depending on the visual design, step 1300 shown in Fig. 10C is not executed (i.e., it is determined whether the packet buffer 1 004 is empty). Therefore, when the VAD 1001 is turned off, the delay insertion control 1〇〇6 cannot perform steps 1〇3〇, 1 03 2, and 1 034 for the timing of determining the insertion delay. Although in step 186 shown in Fig. 10C, the delay insertion controller 1 006 is still able to obtain information as to whether the average jitter j(i) is greater than a preset threshold, the information is insufficient to determine the timing of the insertion delay. For example, when the average jitter j(i) is greater than the preset threshold, the insertion delay is too late. As a result, delays are inserted in inaccurate timings to produce abrupt speech in voice communications. Moreover, even if the existing VAD algorithm of the VAD 1001 is turned on, the VAD 1001 cannot be accurately inserted into the SID. As a result, the front end of the voice packet is clipped and/or the back end is clipped, and the voice quality is not desired by the recipient. Figure 1 1A is a block diagram of a receiver-side device 1 1 0 0 of a second conventional technology packet voice communication configuration (second prior art configuration) including an adaptive buffer overflow controller. As shown in the example of Fig. 1 1 A, the receiver side device 1 1 〇〇 includes the components of the receiver side device 1 092 in the first prior art configuration shown in Fig. 1A. Further, the receiver side device 1 1 〇〇 includes an additional component 1 1 800. The add-on component 1 1 8 0 may include a decoder 1 1 18, a silent detector 1 1 16 , and a buffer overflow controller 1 1 1 4, as described below: 49- 200814679 The silent detector η 16 can be The composition is configured to detect silence in the packets received from the decoder η 18 . If there is no sound, the silent detector 1 1 1 6 can set the silent flag 1 to 1. If there is no silence, the silent detector 1 1 1 6 can set the silent flag to 0. The buffer overflow controller 1 1 1 4 can be configured to monitor the state of the packet buffer 1 1 02. Based on the state of the packet buffer 1 102, the buffer overflow controller 1 1 1 4 can decide whether to drop or hold the next packet received in the packet buffer 1 1 〇2. Fig. 1 is a flow chart of the silent detection processing used by the receiver side device 1 1 0 0 shown in the example of Fig. 1 1 . The silent detection process is started in step 1 120. In this step, the decoder 1 1 18 (shown in FIG. 11A) can decompress the voice received from the packet implementation controller 1104 (shown in FIG. 11A). Packet (package). In step 1 1 2 4, the silent detector 1 1 16 (shown in Figure 1 1 A) can determine if there is silence in the receiving packet. If there is no sound, the control moves to 1 1 3 0. In this step, the silent detector 1 1 16 sets the silent flag 1 to 1. If there is no silence, then control is transferred to step 1 1 2 6, in which the silent detector 1 1 16 sets the silent flag 〇 to 〇. In step 1 1 2 8 , the silent detector 1 1 16 can output a silent flag 値. Fig. 1 1 C is a flowchart of the buffer overflow control process used in the receiver side device 1 1 〇 所示 shown in the example of Fig. 1 1A. The buffer overflow control process can be performed by the buffer overflow controller 1 1 1 4 shown in Fig. 11A. The buffer overflow control process is started in step 1 1 3 2, in which the buffer overflow controller 1 1 14 receives the silent flag from 1116 (shown in FIG. 11A). In step 143, the buffer overflow control 1 Π 4 rusher 1102 (shown in FIG. 2A) has reached the first 〇〇%〇〇% and the like. If the packet buffer 1 102 has reached the first approach, the process proceeds to step η 44; if not, the control moves to the step in step 1 1 44, and the buffer overflow controller 1 1 buffer 11 02 discards the most recently received Packet, regardless of whether the packet indicates a voice packet. The buffer overflow controller causes the packet buffer 102 to provide the packet to be implemented. In step 1 1 3 6 , the buffer overflow controller 1 1 buffer 1 1 02 has reached the second critical, such as just after the packet buffer 1 1 02 has reached the second critical, then control < 1 1 40; If not, control transfers to step 1 1 3 8 . In step 1 1 40, if the silent flag received by the buffer overflow controller 1 1 acoustic detector 11 16 is 1 or not, then control transfers to step 1142; if not to step 1 1 3 8. In step 1 1 42, the buffer overflow control 1 1 i 4 buffer 1 102 discards the most recently received packet because it is silent recently. The buffer overflow controller 1 1 1 4 can also provide a packet to be implemented. Control then shifts to step In step 1 1 3 8 , the packet buffer 11 0 2 can be wrapped. The silent detector can determine the packet mitigation, such as just the boundary, then control the shift 1 1 3 6 ° 1 4 can command the packet. The most recently received 1 1 1 4 can also be ordered 1 4 can determine the packet is 80%. If you move to step 1 4, you can decide to go from none. If there is no voice flag, then the control transfer can command the packet to be buffered to receive the packet buffer step 1 1 3 8 . Receive and Buffer Seal -51 - 200814679 The buffer overflow control processing shown in the example of Figure 1 1 C is invalid for maintaining service quality. For example, when the packet buffer 1 102 reaches the first threshold, for example, exactly 100%, the voice packet can be discarded according to step 1 1 4 4 . Therefore, a mutant speech is generated. In addition, when the packet buffer 1 102 reaches the second threshold that is not the first threshold, such as, just not exactly 100% of 100%, the packet buffer 1 1 02 still receives the packet buffer 1 1 〇 2 The remaining capacity of the large voice packet data set. As a result, the overflow still occurs, and packets (including voice packets) that exceed the capacity of the packet buffer 1102 are still lost. As a result, the quality of service is not what the recipient wants. Figure 12A is a block diagram of a receiver side device 1 200 of a packet voice communication system with adaptive jitter processing in accordance with one or more embodiments of the present invention. The receiver side device 1 200 can represent a user device such as a telephone, a mobile phone, a teleconferencing device, an audio player, or a video phone. Alternatively, the receiver side device 1 200 can represent a server device in the packet communication network. As shown in the example of FIG. 12A, generally, the receiver side device 1 200 may include one or more of the following components: a packet buffer 1 2 0 2, a packet implementation controller 1 208, a decoder 1210, a delay insertion controller 1214, and a delay information. Module 1216, jitter computer 1 204, and implementation delay computer 1 206. The receiver side device 1 200 may additionally include a detector that is configured to detect the characterization content, such as detecting a silent silent detector 1 2 1 2, and the like. The silent detector 1 2 1 2 can be configured to receive the decompressed packet from the decoder 1 2 1 0. The silent detector 1 2 1 2 may additionally be configured to process the decompressed packet and provide a silent flag (but not a decompressed packet - 52 - 200814679 packet) via link 1 299 to the delay insertion controller 1214. The package or components may be packaged in software downloaded to the receiver side device 1 200. One or more components of the receiver side device 1 200 may have the capability of a component similar to the receiver side device 1 1 所示 shown in FIG. However, the silent detector 1 1 1 6 of the receiver side device 1 100 is instead, the silencer 1 2 1 2 can be configured to determine when to insert a delay in processing the jitter to control the packet buffer overflow, or in addition to the control packet The buffer overflow is added to this function. In addition, contrary to the delay insertion controller of the receiver side device 1 00, the delay insertion controller 1 2 1 4 can receive information from the silent detection 1 2 1 2 instead of the receiving jitter computer in the prior art jitter buffer design. 1 204 information. Delay insertion controller 1214 can directly couple acoustic detector 1212 via link 1 299. Link 1 299 can represent a direct logical link or real path. A chain between the delay insertion controller 1108 and the computer 1110 shown in the example of FIG. 11A and the dynamic computer 1 00 8 and the delay insertion controller 1 006 shown in the example of FIG. 10A Conversely, there is a direct logical or physical connection between the jitter calculation 1 204 and the delay insertion controller 1 2 1 4 . Fig. 1 2B is a diagram of a delay insertion control process for adaptive processing utilized in the receiver side device 1 200 shown in the example of the drawing according to one or more embodiments of the present invention. The delay insertion control process is in step 1220, in which the insertion controller 1214 is delayed (Fig.

括~ 於圖 ,與 偵測 取代 外還 1108 測器 來自 到無 體鏈 跳動 之跳 1099 間沒 12A 跳動 開始 1 2 A -53- 200814679 所示)可決定封包緩衝器1 202(圖12A所示)何時是空的, 即沒有包含實施的封包。若封包緩衝器1 202是空的,則 控制移轉到步驟1 228 ;若不是空的,則控制移轉到 1 222 ° 在步驟1 222中,延遲插入控制器1214可決定在經由 封包緩衝器1 202所接收到的進來封包中設定値1的標示 符號位元。若具有SID,則控制移轉到步驟1 228 ;若未具 有S ID,則控制移轉到步驟1 2 2 6。 在步驟1226中,延遲插入控制器1214可決定從無聲 偵測器1 2 1 2 (圖1 2 A所示)所接收到的無聲旗標値是否是 1。若無聲旗標値是1,則可將控制移轉到步驟1 2 2 8 ;若 不是1,則控制可移轉到步驟1 2 3 0。 在步驟1 228中,封包實施控制器12〇8(圖12A所示) 可根據延遲資訊模組1 2 1 6 (圖1 2 A所示所接收到的資訊插 入延遲(如、無聲封包或舒適雜訊封包等)到進來的封包以 產生經調整封包。延遲資訊包括實施延遲計算機1 20 6(圖 3A所示)所提供的尺寸資訊和延遲插入控制器12 14所提 供的時序資訊。 在步驟1 2 3 0中,封包實施控制器1 2 〇 8可實施經調整 封包。由解碼器1 2 1 0解壓縮經調整封包,然後由接收器 側裝置1 2 0 0實施。 如從圖1 2 B可明白一般,根據本發明的一或多個實施 例,即爲從跳動計算機1 204接收到任何資訊,延遲插入 控制器1 2 1 4仍可依據從無聲偵測器1 2 1 2 (在步驟1 2 2 6中) -54- 200814679 所接收到的無聲旗標値來決定插入延遲的時序。 圖1 3爲根據本發明的一或多個實施例之利用調整性 跳動處理之封包視頻通訊系統的接收側裝置1 3 00之方塊 圖。接收側裝置1 3 0 0可表示電話、行動電話、電訊會議 裝置、視頻電話、及視頻播放器的至少一者。另一選擇 是,接收器側裝置1 3 0 0可表示封包通訊網路中的伺服器 裝置。 接收器側裝置1 3 0 0可包括執行類似於圖3 A的例子 中所示之接收器側裝置1 2 0 0的組件之功能的功能之組 件。接收器側裝置1 3 0 0可包括封包緩衝器1 3 0 2、跳動計 算機1 3 04、補償控制器1314、補償計算機1 3 06、補償資 訊模組1 3 1 6、封包實施控制器1 3 0 8、解碼器1 3 1 0、及視 頻偵測器1 3 1 2中的一或多個。 不同的是視頻偵測器1 3 1 2可被組配成偵測視頻封包 中的無移動或低移動以取代無聲。另外,補償計算機 1 3 06、補償控制器1 3 1 4、及補償資訊模組1 3 1 6可被組配 成計算和統合視頻補償的資訊以取代被組配成計算和統合 延遲插入的資訊。視頻補償可包括在重複視頻圖框的同時 停止播放新的視頻圖框,並且可由封包實施控制器 1 3 0 8 執行。 類似於接收器側裝置1 2 0 0的組態,補償控制器1 3 1 4 可經由鏈路1 3 9 9直接耦合到視頻偵測器1 3 1 2以決定視頻 補償的時序。 用於接收器側裝置1 3 0 0之跳動處理的視頻補償控制 -55- 200814679 處理與圖1 2 B的例子中所示之延遲插入控制處理類似。 本發明的一或多個實施例包含接收器側裝置,該接收 器側裝置包括類似於接收器側裝置1 3 00的組態之組態’ 並且被組配成處理包括語音和視頻之多媒體通訊中的跳 動。另外,本發明的一或多個實施例可包含類似於圖1 2B 的例子中所示之延遲插入控制處理的延遲插入控制和視頻 補償控制處理。 如從上述可明白一般,本發明的實施例可有效處理封 包通訊中的跳動,卻不必依賴發送器側語音活動偵測器 (VAD)或固定式跳動緩衝設計。爲延遲插入控制以取代只 爲緩衝器溢位控制使用接收器側無聲偵測器,本發明的實 施例可準確地插入延遲,卻不需要插入延遲到語音封包。 有利的是,可降低突變的語音,確保語音品質。另外,本 發明的實施例可用於視頻通訊及/或多媒體通訊。 D.Divitas 描述協定(DDP) 本發明的一或多個實施例包括透過S IP的輕量協定, 其將在伺服器和用戶之間有效傳送資訊,且將在不受硬體 和軟體平台支配之下運作。 DDP的架構;已在考量下面因素之下架構DDP : 不受伺服器和用戶軟體及OS的支配:協定(DDP)的 結構和格式係成DDP不知道伺服器或手機硬體平台與在 兩平台上執行的作業系統。根據本發明的一或多個實施 例,協定被架構和設計成在任何伺服器或手機硬體平台上 執行,且也不受執行之 Operating System/SW平台的支 -56- 200814679 配。例如’可在 Linux、Symbian、Windows Mobile 5.0 等 上執行DDP。總之,每次以轉移此模組到新的硬體或軟體 平台上時都不必設計或發展特定的配接器層。 從控制面協定解耦:DDP已被架構成能夠與在特定平 台(即SIP、H.3 23等)上使用的任何控制面技術一起使 用。 不受傳送協定的支配:被設計成當透過UDP和TCP 二者使用時有效。若透過傳送層使用是最好的選擇,則具 有一隨意模組以保證可靠度和性能的位準(使用ACK/ NACK和視窗機構)。尤其是具有高度封包遺失的環境 中,此可靠模組去除較高層應用程式擔心保證運送的負 擔。 智慧型和不在意應用程式:DDP將被用於從具有嚴格 的即時要求之緊要控制面訊息到需要在伺服器和用戶之間 移轉大量資料的應用程式之廣泛的應用程式範圍。DDP內 的隨意模組使應用程式能夠在伺服器和用戶之間移轉檔案 和緩衝區。協定亦不在意應用程式資料的類型一即二元、 本文。 服務優先權位準:能夠爲具有不同延遲和服務要求的 應用程式排程和佇列具有不同優先權位準之訊息。 加密的支援:DDP內的隨意模組使伺服器和手機能夠 在啓動時建立安全通道,並且DDP的所有進一步交換都 被加密,以提供一安全位準給需要加密的應用程式。此將 仍舊讓應用程式能夠爲不需要加密的此種應用程式交換未 -57- 200814679 加密訊息。 內建對話管理··具有特定控制訊息以啓動和維持伺服 器和用戶之間的對話。 不受媒體支配:協定不受將用戶連接到伺服器之媒體 的支配。對話可透過WiFi、蜂巢式資料通道、或有線乙 太網路。 圖6A爲根據本發明的一或多個實施例所製造之DDP 架構的槪要圖。如圖6A所示,DDP是透過SIP協定所執 行的對話層應用程式。在用戶和伺服器之間傳輸加密的應 用層資訊被用於影響傳訊決定,提供對話持久性給資料應 用程式,諸如電子郵件或SMTP等,但並不侷限於此。圖 6A爲組成DDP的不同模組之高階圖。此處槪要說明根據 本發明的一或多個實施例之DDP內的不同模組。 i. DDP訊息處理器:此由剖析器和訊息格式化模組所 組成。剖析器負責檢查所接收到的DDP訊息之有效性, 並且在召喚回收處理器之前析取各種資訊片段。 ii. 對話管理:評估兩同層之間的DDP對話之健康的 內建機構,及若對話失敗則告知已註冊應用程式的機構。 iii. DDP排程器:依據應用程式要求以提供不同優先 權位準給DDP訊息。 iv. 可靠的DDP模組:視應用程式要求而定保證可 靠運送DDP訊息之支援。 V. DDX(Divitas資料移轉)模組:使用DDP以移轉同 層之間的檔案和資料緩衝區之模組。DDX模組將不受檔 -58- 200814679 案格式或緩衝內容的支配加以運作,並且具有用於錯誤檢 查和運送確認之機構。In addition, the image buffer 1 202 (shown in Figure 12A) can be determined by the 1108 detector from the jump of the body chain jump 1099 and the 12A beat start 1 2 A -53- 200814679. When is the empty packet, that is, there is no packet containing the implementation. If the packet buffer 1 202 is empty, then control transfers to step 1 228; if not, control transfers to 1 222 °. In step 1 222, the delay insertion controller 1214 may determine to pass the packet buffer. 1 202 receives the marked symbol bit of 値1 in the incoming packet. If there is a SID, then control transfers to step 1228; if there is no S ID, then control transfers to step 1 2 2 6 . In step 1226, the delay insertion controller 1214 may determine whether the silent flag received from the silent detector 1 2 1 2 (shown in Figure 1 2A) is one. If the silent flag 1 is 1, control can be transferred to step 1 2 2 8; if not 1, control can be moved to step 1 2 3 0. In step 1 228, the packet implementation controller 12〇8 (shown in FIG. 12A) can be inserted according to the delay information module 1 2 1 6 (the information received by the delay shown in FIG. 1 2 A (eg, silent packet or comfort) The noise packet, etc.) arrives at the incoming packet to produce an adjusted packet. The delay information includes implementing the size information provided by the delay computer 1 6 6 (shown in FIG. 3A) and delaying the timing information provided by the controller 12 14 . In 1 2 3 0, the packet implementation controller 1 2 〇 8 may implement the adjusted packet. The adjusted packet is decompressed by the decoder 1 1 1 0, and then implemented by the receiver side device 1 2 0 0. As shown in FIG. B It will be understood that in general, according to one or more embodiments of the present invention, that is, any information received from the beating computer 1 204, the delay insertion controller 1 2 1 4 can still be based on the slave silent detector 1 2 1 2 (in Step 1 2 2 6) -54- 200814679 The received silent flag determines the timing of the insertion delay. FIG. 13 is a packet video communication using the adaptive jitter processing according to one or more embodiments of the present invention. A block diagram of the receiving side device 1 300 of the system. The receiving side device 1 300 can represent at least one of a telephone, a mobile phone, a teleconferencing device, a video phone, and a video player. Alternatively, the receiver side device 1 300 can represent a packet communication network. The server side device 1 300 may include a component that performs functions similar to those of the components of the receiver side device 1 200 shown in the example of Fig. 3A. Receiver side device 1 3 0 0 may include a packet buffer 1 3 0 2, a beat computer 1 3 04, a compensation controller 1314, a compensation computer 1 3 06, a compensation information module 1 3 1 6 , a packet implementation controller 1 3 0 8 , a decoder 1 3 1 0, and one or more of the video detectors 1 3 1 2. The difference is that the video detector 1 3 1 2 can be configured to detect no movement or low movement in the video packet instead of silent. In addition, the compensation computer 1 3 06, the compensation controller 1 3 1 4, and the compensation information module 1 3 1 6 can be combined to calculate and integrate the video compensation information to replace the information that is assembled into the calculation and integration delay insertion. Video compensation can include stopping the broadcast while repeating the video frame A new video frame, and can be executed by the packet implementation controller 1 3 0 8. Similar to the configuration of the receiver side device 1 200, the compensation controller 1 3 1 4 can be directly coupled via link 1 3 9 9 The video detector 1 3 1 2 determines the timing of the video compensation. The video compensation control for the jitter processing of the receiver side device 1 300 0-200814679 handles the delay insertion shown in the example of FIG. The control process is similar. One or more embodiments of the present invention include a receiver side device that includes a configuration similar to the configuration of the receiver side device 1 300 and is configured to process multimedia communications including voice and video Bounce in the middle. Additionally, one or more embodiments of the present invention may include delay insertion control and video compensation control processing similar to the delay insertion control process illustrated in the example of FIG. As can be appreciated from the above, embodiments of the present invention can effectively handle jitter in packet communications without relying on a transmitter side voice activity detector (VAD) or a fixed jitter buffer design. To delay insertion control instead of using only receiver side silent detectors for buffer overflow control, embodiments of the present invention can accurately insert delays without the need to insert delays into speech packets. Advantageously, the mutated speech can be reduced to ensure speech quality. Additionally, embodiments of the invention may be used for video communications and/or multimedia communications. D. Divitas Description Protocol (DDP) One or more embodiments of the present invention include a lightweight protocol through SIP that will effectively transfer information between the server and the user and will be unaffected by hardware and software platforms. Under work. DDP architecture; architecture DDP has been considered under the following factors: not subject to server and user software and OS: Protocol (DDP) structure and format is DDP does not know the server or mobile hardware platform and on both platforms The operating system executed on it. In accordance with one or more embodiments of the present invention, the protocol is architected and designed to execute on any server or mobile hardware platform and is also not supported by the Operating System/SW platform. For example, DDP can be executed on Linux, Symbian, Windows Mobile 5.0, and so on. In summary, it is not necessary to design or develop a particular adapter layer each time a module is transferred to a new hardware or software platform. Decoupling from control plane protocols: DDP has been framed to work with any control plane technology used on a particular platform (ie SIP, H.3 23, etc.). Not subject to the delivery protocol: designed to be valid when used by both UDP and TCP. If the best choice is through the transport layer, there is a random module to ensure reliability and performance levels (using ACK/NACK and windowing). Especially in environments with high packet loss, this reliable module removes the burden of higher-level applications from worrying about shipping. Smart and careless applications: DDP will be used for a wide range of applications ranging from critical control surface messages with strict on-demand requirements to applications that need to transfer large amounts of data between servers and users. The random module within the DDP enables the application to transfer files and buffers between the server and the user. The agreement also does not care about the type of application data, namely binary, this article. Service Priority Level: Ability to schedule and queue messages with different priority levels for applications with different latency and service requirements. Encryption support: Random modules within the DDP enable the server and handset to establish a secure channel at boot time, and all further DDP exchanges are encrypted to provide a secure level for applications that require encryption. This will still allow the application to exchange unencrypted messages for such applications that do not require encryption. Built-in dialog management · has specific control messages to initiate and maintain a dialogue between the server and the user. Not subject to media: The agreement is not subject to the media that connects users to the server. Dialogues are available via WiFi, cellular data channels, or wired Ethernet. 6A is a schematic diagram of a DDP architecture fabricated in accordance with one or more embodiments of the present invention. As shown in Fig. 6A, DDP is a dialog layer application executed through the SIP protocol. The transmission of encrypted application layer information between the user and the server is used to influence the messaging decision, providing dialog persistence to the data application, such as email or SMTP, but is not limited thereto. Figure 6A is a high-order diagram of the different modules that make up the DDP. Different modules within a DDP in accordance with one or more embodiments of the present invention are described herein. i. DDP Message Processor: This consists of a parser and a message formatting module. The parser is responsible for checking the validity of the received DDP message and extracting various pieces of information before summoning the recycling processor. Ii. Dialogue Management: A health-built institution that evaluates the health of DDP conversations between two peers, and an organization that has notified the registered application if the conversation fails. Iii. DDP Scheduler: Provides DDP messages with different priority levels depending on the application requirements. Iv. Reliable DDP Module: Support for the delivery of DDP messages, depending on the application requirements. V. DDX (Divitas Data Transfer) Module: A module that uses DDP to transfer files and data buffers between the same layer. The DDX module will operate without the control of the file format or buffer content and has an organization for error checking and shipping confirmation.

vi. DDPS: DDP中的模組,其在發信封包中插入DDP 之前將DDP內容加密和解密。DDP具有用以在2 Divitas 同層之間建立安全DDP通道之協定。 圖6B爲根據本發明的一或多個實施例之當使用者登 入裝置之一時的用戶起動期間之DDP訊息的交換圖。 根據本發明的一或多個實施例,D D P是層4或應用程 式層協定。DDP可使用TCP、UDP、或TLS作爲傳送用。 類似於SIP或SDP,DDP是內容編碼的協定。根據本發明 的一或多個實施例,DDP訊息包含列或欄位的順序,其中 欄位的各列開始於表示正被運送的資訊類型之單一小寫字 母;剩下的列或欄位包含與功能或方法相關聯的資訊之片 段。根據本發明的一或多個實施例,可有多個具有相同開 始名稱或類型的列或欄位。根據本發明的一或多個實施 例,視正發送的DDP訊息之特定類型而定,各個DDP訊 息包含一組命令列或欄位和任意列或欄位。若命令列遺 失,則剖析器將拒絕DDP訊息。跳過剖析器不明白的任 意列。如此允許不同軟體版本之間的向上相容性和可交互 運作性。此處是DDP訊息的例子: ν = 0·0·0· 1 o=server r = data 2 c=ext 4444 -59- 200814679 c = pref cell wifi gprs sms wka 5 cka 10 pwd 1200 whys 20 chys 60 c = w i f i rssilo 30 rssihi 60 chlo 30 chhi 50 c = qos delaylo 50 del ay hi 10 0 losslo losshi 10 j itterlo 30 jitterhi 50 c = srv intip 1 0234 1 4444 extip- 1 3 43 245 03 2 c = end 然後添加DDP訊息當作具有”application/ddp”或 ” application/ddps”的訊息本體類型之SIP訊息中的訊息本 體。若需要的話,DDP本體易可與其他發送協定一起發 送。 根據本發明的一或多個實施例之DDP的示範性應用 程式將說明如下。 語音行動性:語音行動性視許多因素而定----主要的 因素是由用戶所感受到的WiFi品質。DDP被用於即時發 送具有有關手機目前所結合之AP的資訊之WiFi報告以 做出行動性決定。WiFi報告亦可任意地包含有關相鄰AP 的資訊’使得行動性伺服器可使用此資訊以依據該預測手 機的移動來進行先發制人的行動性決定。除了依據WiFi 條件自動化更新之外,DDP亦被用於使用者啓動行動性決 定。 用戶/裝置管理:將DDP延伸使用在管理手機上的用 戶和使用者經驗。此處有幾種管理用戶所使用之以DDP 爲基的控制和巨量轉移訊息之方法: -60 - 200814679 a·裝置組態:一旦已認證裝置/使用者,則在啓動期 間發送裝置特定組態到裝置。 b·行動性臨界:依據管理者對用戶的設定之WiFi臨 界以啓動行動性活動。 c·使用者資訊:當使用者登入到用戶之一時,則伺服 器透過D D P推送使用者特定資訊(如、分機、偏好等)。 d.裝置影像管理;使用DDP巨量移轉能力能夠達成 透過網路連接升級手機軟體之能力。 下載到手機的語音郵件/電子郵件:D i v i t a s解決方案 的主要差別處之一在於下載語音郵件到手機並且視你方便 時間管理它們之能力。藉由與語音郵件系統相接的優先權 控制訊息,可有管理沒有IVR的語音郵件之能力,移轉 語音郵件到手機之DDP中的巨量移轉能力也是一樣。亦 可爲能夠建立配接器模組以與選擇的電子郵件系統相接之 電子郵件系統達成類似的功能。 使用者出席管理:將具有透過不同媒體之語音和內容 的使用者偏好之DDP訊息傳遞到出席管理用的伺服器。 這是能夠支援出席提醒電話的功能之重要部分。會議電話 的架構和設計亦依據增強的出席和使用者偏好一一全部都 透過DDP傳達以提供服務會議電話被設計以提供。 即時訊息:透過DDP對話通隧用於IM的訊息。此使 手機上的IM用戶能不察覺到裝置正在操作的媒體/協定。 可參考下面的圖式和討論更加明白本發明的特徵和優 點。 -61 - 200814679 圖14爲在應用程式用戶與應用程式伺服器之間建立 連接的電話流程之習知技術例子圖。假設手機的使用者想 要利用應用程式用戶1 404以經由HTTP(超文件傳輸協定) 連接透過網頁瀏覽器請求軟體下載1 4 0 6之情況。 在發生軟體下載1 406之前,首先必須在應用程式用 戶1404和應用程式伺服器1402之間建立HTTP連接。在 第一步驟1408中,應用程式用戶1404可發送TCP(傳輸 控制協定)SYN(同步化)到應用程式伺服器1 402。在下一 步驟1410中,應用程式伺服器1402可發送TCP SYN-ACK(TCP同步化應答)回到應用程式用戶1404。在下一步 驟1412中,應用程式用戶1404可發送TCP ACK到應用 程式伺服器1 402。 一旦已在應用程式用戶1 404與應用程式伺服器1402 之間建立HTTP連接,則在下一步驟1414中,應用程式 用戶1 404可發送HTTP Get到應用程式伺服器1 402。換 言之,在步驟1414中,應用程式用戶1404正發送使用者 對軟體下載1 406的請求到應用程式伺服器1 402。 當接收到HTTP Get時,在下一步驟1416中,應用 程式伺服器1 402可執行搜尋以找出所請求的下載。 在下一步驟1 4 1 8中,一旦已找出軟體,則應用程式 伺服器1 402可開始發送所請求的軟體當作資料封包(如、 TCP資料區段)到應用程式用戶1 404。在發送所請求的軟 體檔案時,可將軟體檔案分成複數資料封包,以幫助經由 網路處理發送軟體檔案。 -62- 200814679 在下一步驟1 420中,當接收到TCP資料區段時,應 用程式用戶1 404可發送TCP ACK到應用程式伺服器 1 402 ° 可在由應用程式伺服器1402發送所請求的軟體下載 之所有資料封包到應用程式用戶1 404之前,重複步驟 1418 及 1420 ° 一旦已發送所有TCP資料區段,則在下一步驟1422 中,應用程式伺服器1 402可發送HTTP 200 OK到應用程 式用戶1404。在發送HTTP 200 OK時,應用程式伺服器 1 402通知應用程式用戶1 404已發送有關軟體下載請求的 所有資料封包。 一旦應用程式用戶1 4 0 4已接收到各個資料封包,則 應用程式用戶1 404可發送通知1 424給使用者,告知使用 者已完成下載。 就手機上的各個應用程式用戶而言,必須由各個應用 程式用戶執行圖1的電話流程中所說明之方法。如此,若 手機包括多個應用程式用戶(如、視頻應用程式用戶、語 音應用程式用戶、即時訊息應用程式用戶、遊戲應用程式 用戶、虛擬實境應用程式用戶等),則在應用程式用戶與 應用程式伺服器之間的互動開始之前,必須在各個應用程 式用戶與其對應的應用程式伺服器之間建立獨立通道。由 於用戶上執行多個應用程式,所以無法保證不同應用程式 之間的通訊。結果,特定用戶上執行的應用程式未能注意 到在同一用戶上的另一應用程式正發生資料交換。 -63- 200814679 此外,圖1所說明的方法是種麻煩的方法,其需 戶上的各個應用程式適當組配以確保應用程式能夠成 與企業內的指定伺服器上之其對應的應用程式互動。 在用戶和伺服器之間通訊的各個應用程式需要分開的 對話,所以此方法產生安全性風險並且增加複雜性。 在本發明的一觀點中,在此處,本發明人實現可 不受硬體(如、手機)及軟體(如、視頻應用程式用戶 音應用程式用戶、即時訊息應用程式用戶、遊戲應用 用戶、虛擬實境應用程式用戶等)支配之單一協定統 有的應用程式網路對話。換言之,本發明人實現應用 用戶無須與其對應的應用程式伺服器建立多個網路對 取而代之的是,可利用現存的控制和傳輸協定實施協 且協定是獨立於軟體和硬體之外,藉以使複數應用程 戶能夠與其對應的複數應用程式伺服器互動。 根據本發明的實施例,藉由實施Divitas描述 (DDP)提供行動性架構配置。在一實施例中,DDP DDP用戶和DDP伺服器。本發明的實施例使DDP會g 手機上的複數應用程式用戶與企業內的複數應用程式 器之間有效地傳輸資料封包。本發明的實施例又使 能夠在不受硬體及軟體平台的支配之下加以實施。 在本發明的實施例中,DDP不受硬體平台的支配 此,可在雙模式手機、個人數位助理(P D A s )、8 0 2.1 1 等上實施DDP。在本發明的實施例中,DDP亦不受 平台的支配。結果,可在 Linux®系統、Symbian®系 要用 功地 由於 網路 利用 、語 程式 合所 程式 話。 定, 式用 協定 包括 夠在 伺服 DDP 。如 電話 軟體 統、 -64- 200814679Vi. DDPS: A module in DDP that encrypts and decrypts DDP content before inserting DDP into the envelope. DDP has a protocol to establish a secure DDP tunnel between 2 Divitas peers. Figure 6B is an exchange diagram of DDP messages during user activation when a user logs into one of the devices in accordance with one or more embodiments of the present invention. In accordance with one or more embodiments of the invention, D D P is a layer 4 or application layer protocol. DDP can use TCP, UDP, or TLS for transmission. Similar to SIP or SDP, DDP is a protocol for content encoding. In accordance with one or more embodiments of the present invention, the DDP message includes an order of columns or fields, wherein the columns of the field begin with a single lowercase letter indicating the type of information being shipped; the remaining columns or fields contain and A fragment of information associated with a function or method. In accordance with one or more embodiments of the invention, there may be multiple columns or fields having the same starting name or type. In accordance with one or more embodiments of the present invention, depending on the particular type of DDP message being transmitted, each DDP message includes a set of command columns or fields and any columns or fields. If the command line is missing, the parser will reject the DDP message. Skip any column that the parser does not understand. This allows for upward compatibility and interoperability between different software versions. Here is an example of a DDP message: ν = 0·0·0· 1 o=server r = data 2 c=ext 4444 -59- 200814679 c = pref cell wifi gprs sms wka 5 cka 10 pwd 1200 whys 20 chys 60 c = wifi rssilo 30 rssihi 60 chlo 30 chhi 50 c = qos delaylo 50 del ay hi 10 0 losslo losshi 10 j itterlo 30 jitterhi 50 c = srv intip 1 0234 1 4444 extip- 1 3 43 245 03 2 c = end Then add DDP The message is treated as the message body in the SIP message with the message body type of "application/ddp" or "application/ddps". The DDP body can be sent with other delivery protocols if needed. An exemplary application of the DDP in accordance with one or more embodiments of the present invention will be described below. Voice Mobility: Voice mobility depends on many factors—the main factor is the WiFi quality perceived by the user. The DDP is used to instantly send a WiFi report with information about the AP currently associated with the handset to make an action decision. The WiFi report can also optionally contain information about neighboring APs so that the mobile server can use this information to make pre-emptive action decisions based on the movement of the predictive handset. In addition to automating updates based on WiFi conditions, DDP is also used by users to initiate action decisions. User/Device Management: Extend DDP to the user and user experience on managing mobile phones. There are several ways to manage DDP-based control and massive transfer messages used by users: -60 - 200814679 a. Device configuration: Once the device/user has been authenticated, the device-specific group is sent during startup. State to device. b. Mobility Critical: Activate the mobile activity based on the WiFi threshold set by the administrator to the user. c·User Information: When the user logs in to one of the users, the server pushes the user-specific information (eg, extension, preference, etc.) through D D P. d. Device image management; using DDP's massive transfer capability to achieve the ability to upgrade mobile software via a network connection. Downloading Voicemail/Email to your phone: One of the main differences between the D i v i t a s solutions is the ability to download voicemails to your phone and manage them as you need them. With the priority control message connected to the voice mail system, there is the ability to manage voice mail without IVR, and the same is true for the huge amount of transfer capability in the DDP that transfers voice mail to the mobile phone. A similar function can also be achieved for an email system that can establish an adapter module to interface with a selected email system. User attendance management: Deliver DDP messages with user preferences through voice and content from different media to the attendance management server. This is an important part of the ability to support attendance calls. The structure and design of the conference call is also designed to provide service calls based on enhanced attendance and user preferences all through DDP. Instant messaging: Messages for IM through the DDP session. This allows the IM user on the handset to be unaware of the media/agreement that the device is operating on. Features and advantages of the present invention will become more apparent from the following description and discussion. -61 - 200814679 Figure 14 is a diagram showing an example of a conventional technique for establishing a connection between an application user and an application server. Assume that the user of the mobile phone wants to use the application user 1 404 to request the software to download the software through the web browser via the HTTP (Super File Transfer Protocol) connection. Before the software download 1 406 occurs, an HTTP connection must first be established between the application user 1404 and the application server 1402. In a first step 1408, the application user 1404 can send a TCP (Transmission Control Protocol) SYN (synchronized) to the application server 1 402. In the next step 1410, the application server 1402 can send a TCP SYN-ACK (TCP synchronization response) back to the application user 1404. In the next step 1412, the application user 1404 can send a TCP ACK to the application server 1 402. Once an HTTP connection has been established between application user 1 404 and application server 1402, then in next step 1414, application user 1 404 can send HTTP Get to application server 1 402. In other words, in step 1414, the application user 1404 is sending a user request for software download 1 406 to the application server 1 402. Upon receiving HTTP Get, in a next step 1416, the application server 1 402 can perform a search to find the requested download. In the next step 1 4 18, once the software has been found, the application server 1 402 can begin transmitting the requested software as a data packet (e.g., TCP data segment) to the application user 1 404. When the requested software file is sent, the software file can be divided into multiple data packets to help send the software file via the network processing. -62- 200814679 In the next step 1 420, when receiving the TCP data section, the application user 1 404 can send a TCP ACK to the application server 1 402 °. The requested software can be sent by the application server 1402. Before downloading all the data packets to the application user 1 404, repeat steps 1418 and 1420 °. Once all TCP data segments have been sent, in the next step 1422, the application server 1 402 can send an HTTP 200 OK to the application user. 1404. Upon sending an HTTP 200 OK, the application server 1 402 notifies the application user 1 404 that all data packets for the software download request have been sent. Once the application user 1 4 0 4 has received each data packet, the application user 1 404 can send a notification 1 424 to the user informing the user that the download has been completed. For each application user on the mobile phone, the method described in the telephone flow of Figure 1 must be performed by each application user. In this case, if the mobile phone includes multiple application users (eg, video application users, voice application users, instant messaging application users, game application users, virtual reality application users, etc.), then the application users and applications Before the interaction between the application servers begins, an independent channel must be established between each application user and its corresponding application server. Since multiple applications are executed on the user, communication between different applications cannot be guaranteed. As a result, an application executing on a particular user fails to notice that another application is being exchanged for data on the same user. -63- 200814679 In addition, the method illustrated in Figure 1 is a cumbersome method that requires the appropriate application of each application on the home to ensure that the application can interact with its corresponding application on a designated server within the enterprise. . Individual applications that communicate between the user and the server require separate conversations, so this approach creates security risks and adds complexity. In one aspect of the present invention, the inventors herein are implemented without hardware (eg, mobile phones) and software (eg, video application user application users, instant messaging application users, game application users, virtual A real-world application web user conversation dominated by a single application. In other words, the inventor realizes that the application user does not need to establish multiple networks with the corresponding application server. Instead, the existing control and transport protocol can be used to implement the protocol and the agreement is independent of the software and the hardware, thereby enabling Multiple application users can interact with their corresponding multiple application servers. In accordance with an embodiment of the present invention, an operational architecture configuration is provided by implementing a Divitas Description (DDP). In an embodiment, the DDP DDP user and the DDP server. Embodiments of the present invention enable DDP to efficiently transfer data packets between a plurality of application users on a mobile phone and a plurality of applications within the enterprise. Embodiments of the invention are in turn capable of being implemented without the control of hardware and software platforms. In an embodiment of the invention, the DDP is not subject to the hardware platform. DDP can be implemented on dual mode handsets, personal digital assistants (P D A s), 802.11, and the like. In an embodiment of the invention, the DDP is also not subject to the platform. As a result, it is possible to use the Linux® system and the Symbian® system for network usage and language programming. The protocol is included in the servo DDP. Such as telephone software system, -64- 200814679

Window TM Mobile 5.0 系統上執行 DDP。 在習知技術中,多個網路對話的建立需要在用戶和伺 服器之間建立多個通道。換言之,必須在企業的防火牆 內”刺穿”複數個”洞”以使複數應用程式用戶能夠與其對應 的應用程式伺服器互動。在本發明的實施例中,可實施 DDP以建立可實施手機上的應用程式用戶與企業內的應用 程式伺服器之間的互動之單一安全通道。 憑藉可交換複數資料流量的單一安全通道,可由應用 程式用戶管理下載到手機上的資訊。如此,需要利用已下 載的資訊之應用程式用戶不必請求再次下載資料。取而代 之的是,具有DDP的行動性用戶能夠引導應用程式用戶 到所請求的資料之儲存位置。 在本發明的實施例中,DDP可不受網路支配。在一例 子中,DDP所建立的安全通道可例如經由Wi-Fi網路或蜂 巢式資料網路。當用戶裝置上的使用者漫遊時,此使DDP 能夠確保網路對話傳送到分開的網路。 在一實施例中,DDP建立在控制協定和傳輸協定的上 層。在一實施例中,可利用任何可用到的控制協定(如、 SIP、H· 3 23等)實施DDP。在另一實施例中,可利用諸如 使用者資料元協定(UDP)、傳輸控制協定(TCP)、或傳輸層 安全協定(TLS)等任何可利用到的傳輸協定實施DDP。如 此,DDP能夠有效地路由資料封包和管理連接性而不必關 心可利用的控制及/或傳輸協定。 在本發明的實施例中,DDP可包括可靠性模組 -65 - 200814679 (RDDP),該模組確保遞送資料流量的可靠性位準。當利 用不提供可靠性之諸如UDP等傳輸協定時使用此模組。 如此,DDP可提供成功傳輸的保證並且解除監視來自應用 程式用戶的資料流量之負擔。 在本發明的實施例中,可爲複數應用程式(即、應用 程式用戶和其對應的應用程式伺服器)實施DDP。在一例 子中,可由不需要即時交換資料的簡易應用程式利用 DDP。在另一例子中,可由具有即時資料交換要求之應用 程式利用DDP。由於DDP的可調整性,可添加或去除應 用程式卻不會影響DDP的能力和多樣性。 在本發明的實施例中,DDP包括可被組配成排程和佇 列資料流量之優先權訊息排程模組。D D P可利用該優先權 訊息排程模組將複數應用程式需要或要求的複數下載和上 載自動化。 參考下面的圖式和討論可更加明白本發明的特徵和優 點。 圖1 5爲本發明的實施例中之D D P發明的簡易架構 圖。在本發明的實施例中,DDP 1536不受硬體及/或軟體 平台的支配。在一例子中,可將DDP 1536實施在複數用 戶裝置上’包括雙f吴式手機、PDAs、膝上型電腦等,但 並不侷限於此。在另一例子中,可與諸如Linux®系統、 Symbian®系統、Window TM Mobile 5.0系統等不同的操 作系統一起實施D D P 1 5 3 6。結果,利用最小的修改,可 將DDP 1536載入到不同的硬體及/或軟體平台上。 -66- 200814679 DDP 1 5 3 6可建立在控制協定和傳輸協定的最上層。 在一例子中,可與不同控制協定類型(如、SIP 1 5 3 2和另 一控制協定 1 524)和不同的傳輸協定類型(如、UDP 1534、UDP 1528、TCP 1530、TCP 1526 等)一起使用 DDP 1536。可爲了執行DDP 1536的功能而由DDP 1536利用 之控制協定及/或傳輸協定的類型可容易由DDP適應。如 此,若控制協定及/或傳輸協定改變,則DDP 1 5 3 6將視需 要使本身能夠利用可用到的傳輸和控制協定之任何組合。 需注意的是,控制協定及/或傳輸協定的改變不影響應用 層,應用層包括語音行動性控制應用程式用戶1 5 06、裝 置管理應用程式1 504、企畫管理應用程式1 502、語音郵 件/電子郵件傳輸應用程式1 508、裝置影像管理應用程式 1 5 1 0、即時訊息應用程式1 5 1 2等,但並不侷限於此。 此外,在一實施例中,DDP 1 5 3 6能夠決定提供最佳 的性能和可靠性之較佳的傳輸協定。如此,辨識正確的傳 輸協定責任可從複數應用程式集中和移動到DDP 1 5 3 6。 因爲DDP用戶和伺服器之間的所有資料流量現在都由 DDP 1536處理,所以DDP 1 5 3 6能夠在最小化資料封包損 失的同時決定路由資料流量的最佳傳輸協定。 在一實施例中,DDP 1 5 3 6可包括一或多個模組,諸 如具有安全延伸的DDP模組(DDPS模組1 522)、優先權訊 息排程模組1 5 1 8、可靠D D P模組(R D D P模組1 5 1 6 )、內 建對話管理模組1 5 20、及Divitas資料交換模組(DDX模 組 1514)。 •67- 200814679 在一實施例中,D D P S模組1 5 2 2可提供安全功能給 DDP 1536。在一例子中,DDPS模組1522可使安全通道 能夠建立在手機的行動性用戶和企業內的行動性伺服器之 間。憑藉安全通道,可經由單一安全通道路由來自複數應 用程式之所有進來和出去的資料流量。 在某些情況中,在應用程式用戶能夠與其對應的應用 程式伺服器互動之前必須發生個別認證。不像習知技術一 般,認證處理可以自動化。在一實施例中,DDpS模組 1522可包括資料庫,該資料庫包括在應用程式用戶和應 用程式伺服器之間建立連接所需的認證資料。 在本發明的實施例中,DDPS模組1 522可提供加密/ 解密功能,如此使DDP 1 5 3 6能夠提供安全給需要該功能 的應用程式在一例子中,從電子郵件伺服器路由來自應用 程式用戶1 5 0 8的重要電子郵件到手機上的電子郵件應用 程式用戶。爲了確保電子郵件的安全性,在發送封包到對 應的應用程式伺服器之前,DDPS模組1 522可將資料封 包加密。在另一例子中,可以非安全方法發送兩IM用戶 之間的即時訊息。如此,DDP 1 5 3 6可路由即時訊息,卻 不必利用DDPS模組1 522加密發送於IM用戶之間的資料 封包。 在本發明的實施例中,DDP 1 5 3 6可包括優先權訊息 排程模組1 5 1 8,該模組1 5 1 8可被組配成排程和佇列資料 封包。換言之,優先權訊息排程模組1518負責管理DDP 1 5 3 6所服務之複數不同的資料封包。在一*實施例中,優 -68- 200814679 先權訊息排程模組1 5 1 8可建立處理進來和出去的資料封 包之政策。在一實施例中,優先權訊息排程模組1 5 1 8視 發源的應用程式而定,可具有不同的優先權位準。在一例 子中,應用程式A(如、電子郵件)不要求即時遞送棋資料 封包。然而,應用程式B(如、出席管理)對時間延遲相當 敏感,需要即時遞送資料封包。在一實施例中,優先權訊 息排程模組1 5 1 8可以是任意的DDP模組。在一例子中, 若DDP 1536目前只爲一應用程式處理資料流量,則DDP 1 5 3 6不必利用優先權訊息排程模組1 5 1 8處理資料封包的 排程。 在本發明的實施例中,DDP 1 5 3 6可包括可靠模組 (RDDP 1516),其可提供運送複數資料封包之一定位準的 保證。在一實施例中,爲了擔保運送,RDDP 1516具有重 傳在特定時間間隔內未成功到達它們的目的地之封包的機 構。在一實施例中,若在預設的時間間隔內未接收到資料 封包,則將重傳封包。在通知應用程式封包的傳輸已失敗 之前可重傳封包特定次數。憑藉RDDP 1516,DDP 1536 可提供以應用程式需要的次序發送及/或接收資料封包之 保證。 在一實施例中,DDP 1 5 3 6可包括DDX模組1514,其DDP is executed on the Window TM Mobile 5.0 system. In the prior art, the establishment of multiple network conversations requires the creation of multiple channels between the user and the server. In other words, multiple “holes” must be “pierced” within the corporate firewall to enable multiple application users to interact with their corresponding application servers. In an embodiment of the invention, DDP can be implemented to establish a single secure channel that enables interaction between application users on the handset and application servers within the enterprise. The information downloaded to the phone can be managed by the application user with a single secure channel that exchanges multiple data traffic. As such, application users who need to utilize the downloaded information do not have to request to download the data again. Instead, an active user with DDP can direct the application user to where the requested data is stored. In an embodiment of the invention, the DDP may be unaffected by the network. In an example, the secure channel established by the DDP can be via a Wi-Fi network or a cellular data network, for example. This allows DDP to ensure that network conversations are delivered to separate networks when users on the user device roam. In an embodiment, the DDP is built on top of the control protocol and transport protocol. In an embodiment, the DDP can be implemented using any available control protocol (e.g., SIP, H.23, etc.). In another embodiment, the DDP can be implemented using any available transport protocol, such as User Data Element Agreement (UDP), Transmission Control Protocol (TCP), or Transport Layer Security Protocol (TLS). As such, DDP can efficiently route data packets and manage connectivity without having to worry about available control and/or transport protocols. In an embodiment of the invention, the DDP may include a reliability module -65 - 200814679 (RDDP) that ensures a reliable level of delivery of data traffic. Use this module when using transport protocols such as UDP that do not provide reliability. As such, DDP provides a guarantee of successful transmission and relieves the burden of monitoring data traffic from application users. In an embodiment of the invention, DDP can be implemented for a plurality of applications (i.e., application users and their corresponding application servers). In an example, DDP can be utilized by a simple application that does not require instant exchange of data. In another example, DDP can be utilized by an application with instant data exchange requirements. Due to the adjustability of DDP, applications can be added or removed without affecting the power and diversity of DDP. In an embodiment of the invention, the DDP includes a priority message scheduling module that can be configured to schedule and queue data traffic. The D D P can utilize the priority message scheduling module to automate the downloading and uploading of multiple applications required or required by the plurality of applications. Features and advantages of the present invention will become more apparent from the following description and discussion. Figure 15 is a simplified architectural diagram of the D D P invention in an embodiment of the present invention. In an embodiment of the invention, the DDP 1536 is not subject to hardware and/or software platforms. In one example, the DDP 1536 can be implemented on a plurality of user devices, including but not limited to, dual-f mobile phones, PDAs, laptops, and the like. In another example, D D P 1 5 3 6 can be implemented with a different operating system such as a Linux® system, a Symbian® system, a WindowTM Mobile 5.0 system, or the like. As a result, the DDP 1536 can be loaded onto different hardware and/or software platforms with minimal modifications. -66- 200814679 DDP 1 5 3 6 can be established at the top of the control agreement and transport agreement. In an example, it can be combined with different control protocol types (eg, SIP 1 5 3 2 and another control protocol 1 524) and different transport protocol types (eg, UDP 1534, UDP 1528, TCP 1530, TCP 1526, etc.) Use DDP 1536. The type of control protocol and/or transport protocol that may be utilized by DDP 1536 to perform the functions of DDP 1536 may be readily accommodated by the DDP. Thus, if the control agreement and/or transmission agreement changes, DDP 1 5 3 6 will be able to utilize itself any combination of available transmission and control protocols as needed. It should be noted that the change of the control protocol and/or the transport protocol does not affect the application layer. The application layer includes the voice mobility control application user 1 5 06, the device management application 1 504, the plan management application 1 502, and the voice mail. /Email transmission application 1 508, device image management application 1 5 1 0, instant messaging application 1 5 1 2, etc., but not limited to this. Moreover, in an embodiment, DDP 1 5 3 6 can determine a preferred transport protocol that provides optimal performance and reliability. In this way, the responsibility for identifying the correct transport agreement can be centralized and moved from the complex application to DDP 1 5 3 6 . Because all data traffic between the DDP user and the server is now handled by the DDP 1536, DDP 1 5 3 6 can determine the optimal transport protocol for routing data traffic while minimizing data packet loss. In an embodiment, the DDP 1 5 3 6 may include one or more modules, such as a DDP module with secure extension (DDPS module 1 522), a priority message scheduling module 1 5 18, and a reliable DDP. Module (RDDP module 1 5 1 6 ), built-in dialog management module 1 5 20, and Divitas data exchange module (DDX module 1514). • 67- 200814679 In an embodiment, the D D P S module 1 5 2 2 can provide a security function to the DDP 1536. In one example, the DDPS module 1522 enables a secure channel to be established between the mobile user of the mobile phone and the mobile server within the enterprise. With a secure channel, all incoming and outgoing data traffic from multiple applications can be routed through a single secure channel. In some cases, individual authentication must occur before an application user can interact with their corresponding application server. Unlike conventional techniques, authentication processing can be automated. In one embodiment, the DDpS module 1522 can include a database that includes authentication data needed to establish a connection between an application user and an application server. In an embodiment of the invention, the DDPS module 1 522 can provide encryption/decryption functions, thus enabling the DDP 1 5 3 6 to provide security to applications that require this functionality, in an example, routing from an email server from an application. The program user 1 5 0 8 important email to the email application user on the phone. To ensure the security of the email, the DDPS module 1 522 can encrypt the data packet before sending the packet to the corresponding application server. In another example, an instant message between two IM users can be sent in a non-secure manner. In this way, DDP 1 5 3 6 can route instant messages without having to use DDPS module 1 522 to encrypt data packets sent between IM users. In an embodiment of the present invention, the DDP 1 5 3 6 may include a priority message scheduling module 1 5 1 8 , and the module 1 5 1 8 may be configured into a schedule and a queue data package. In other words, the priority message scheduling module 1518 is responsible for managing a plurality of different data packets served by the DDP 1 5 3 6 . In an embodiment, the -68-200814679 preemptive message scheduling module 1 5 1 8 can establish a policy for processing incoming and outgoing data packets. In one embodiment, the priority message scheduling module 1 158 may have different priority levels depending on the source application. In the example, application A (eg, email) does not require immediate delivery of a chess data packet. However, application B (eg, attendance management) is quite sensitive to time delays and requires immediate delivery of data packets. In an embodiment, the priority information scheduling module 1 158 may be any DDP module. In one example, if the DDP 1536 currently only processes data traffic for an application, the DDP 1 5 3 6 does not have to use the priority message scheduling module 1 5 1 8 to process the schedule of the data packets. In an embodiment of the invention, the DDP 1 5 3 6 may include a reliable module (RDDP 1516) that provides assurance of the positioning of one of the plurality of data packets. In one embodiment, to warrant shipment, RDDP 1516 has a mechanism to retransmit packets that have not successfully reached their destination within a particular time interval. In an embodiment, if the data packet is not received within the preset time interval, the packet is retransmitted. The packet can be retransmitted a specific number of times before the transmission of the notification application packet has failed. With the RDDP 1516, the DDP 1536 provides the assurance that data packets are sent and/or received in the order required by the application. In an embodiment, DDP 1 5 3 6 may include a DDX module 1514, which

可被用於在行動性用戶和行動性伺服器之間傳輸大量資料 (如、影像檔案、日誌檔案等)。在實施例中,DDX模組 1 5 1 4包括確保行動性用戶和行動性伺服器之間的資料傳 輸之資料完整性的機構。在本發明的另一實施例中,DDX -69- 200814679 模組1 5 1 4可包括用以確認完成資料傳輸到應用程式之機 構。 在本發明的實施例中,可爲複數應用程式實施DDP 1 5 3 6 ’複數應用程式包括語音行動性控制應用程式 1 5 06、裝置管理應用程式15〇4、企畫管理應用程式 1 5 02、語音郵件/電子郵件傳輸應用程式1 5 08、裝置影像 管理應用程式1 5 1 0、即時訊息應用程式1 5 1 2等,但並不 侷限於此。在本發明的實施例中,複數應用程式可被分成 兩群。 在第一群中,複數應用程式(如、語音郵件/電子郵件 傳輸應用程式1 5 0 8、裝置影像管理應用程式1 5 1 0、即時 訊息應用程式1512等)是容易發送較大檔案的應用程式, 如此DDP 1 5 3 6可利用DDX模組1514將檔案轉換成能夠 利用包括1516、1518、1522之DDP 1536內的任何其他 模組之較小的資料封包,並且提供已成功傳輸資料檔案並 且通知應用程式有關已完成的傳輸之保證。 在第二群中,複數應用程式(語音行動性控制應用程 式1506、裝置管理應用程式1504、企畫管理應用程式 1 5 0 2等)通常是容易發送較小控制訊息的應用程式。通 常,第二群中的應用程式傾向是控制應用程式。在一例子 中’ S吾首行動性控制器1 5 0 6可使行動性用戶和行動性伺 服器能夠共用可以單一 DDP封包發送之行動性狀態。 圖1 6 A爲在一實施例中之具有d D P的行動性架構配 置內之資料如何在在位在用戶裝置內的應用程式用戶與企 -70- 200814679 業所管理的應用程式伺服器之間流動的例子圖。假設用戶 裝置上的使用者想要利用語音郵件用戶1 602檢索來自語 音郵件伺服器1 604的語音郵件之情況。 當接收到來自應用程式用戶1 602的請求時,語音郵 件伺服器1 6 0 4可啓動檔案轉移。語音郵件伺服器1 6 0 4可 沿著路徑1 65 0發送檔案。當接收到檔案時,行動性伺服 器可經由安全通道準備欲發送檔案到用戶裝置上的行動性 用戶。 在一實施例中,行動性伺服器內的伺服器DDX模組 1 608可被用於將檔案轉換成與安全通道的控制和傳輸協 定相容之格式。在一例子中,伺服器DDX模組1 608可將 雙格式的檔案轉換成透過SIP協定可傳輸的格式。再者, 伺服器DDX模組1 608可將檔案分成複數資料封包,以確 保經由安全通道路由複數資料封包之有效性。 在完成啓動處理之後,伺服器D D X模組1 6 0 8可發送 第一資料封包到伺服器DDP 1 6 1 6。在一實施例中,伺服 器D D P 1 6 1 6可包括是應用程式所需將資料封包加密之 DDP S模組。在一例子中,無須加密即可發送簡易資料封 包(如、即時訊息)。在另一例子中,可在路由到請求者之 前將重要的資料封包(如、機密電子郵件)加密。 從伺服器D D P 1 6 1 6出來,第一資料封包可被封裝作 SIP通知訊息(如圖16B的碼例子3 70所示),並且經由網 路1 624透過安全通道發送到用戶裝置。在一例子中,可 藉由使用伺服器SIP控制協定1 620和伺服器UDP傳輸協 -71 - 200814679 定1622且經由安全通道發送第一資料封包。由可經由用 戶UDP傳輸協定1 626和用戶SIP控制協定1 62 8接收到 資料封包之用戶裝置的行動性用戶安全地接收到第一資料 封包。 在行動性用戶內,用戶D D P 1 6 3 2可接收第一資料封 包。用戶RDDP 1 63 4可執行與伺服器RDDP 1614所執行 的類似檢查。再者,用戶R D D P 1 6 3 4可沿著路徑1 6 5 2經 由安全通道發送具有DDP應答的SIP通知訊息到伺服器 DDX模組1608。藉由發送DDP應答,用戶RDDP 1634可 從行動性用戶發送保證到已接收到資料封包的行動性伺服 器。同樣地,若伺服器R D D P模組1 6 1 4未接收到R D D P 應答,則伺服器RDDP模組1614將重傳資料封包,直到 已成功應答封包或耗盡重試的最大數目爲止。 在一實施例中,將發送資料封包且在已接收到D D P 應答之前,不發送下一資料封包。在一例子中,在已接收 到DDP應答之前,伺服器DDx模組1608不發送第二資 料封包。在另一實施例中,可發送固定的資料封包數目, 及在已爲一或多個最初資料封包接收到應答之前,不發送 額外封包。在一例子中,伺服器D D X模組1 6 0 8可發送一 群1 〇資料封包,及在能夠傳輸額外資料封包之前,在至 少接收到一應答前需要等待。 一旦行動性用戶已發送D D P應答到行動性伺服器, 則將路由資料封包到用戶D D X模組1 6 3 6。在一例子中, 在已接收到所有資料封包之前,用戶D D X模組1 6 3 6可保 -72- 200814679 留資料封包。在一實施例中,伺服器DDX模組1 60 8可發 送指出已發送所請求的檔案之各個資料封包並且沒有額外 的檔案資料封包即將到來之訊息。一旦已接收到所有資料 封包,則用戶DDX模組1 63 6將重組檔案,且通知語音郵 件用戶1 602可利用語音郵件檔案。 如從圖15及16可見一般,DDP的架構可提供複數應 用程式用戶與複數應用程式伺服器互動的單一安全通道。 藉由具有流經單一安全通道的資料流量,DDP的架構可藉 由保證接收到資料封包、已進行核實以便得知已接收到所 有資料封包、並且沒有損失的資料封包以提供控制。在一 例子中,DDP的架構可使大的檔案被分成較小的資料封 包,這些較小的資料封包可利用由接收側接收應答的保證 加以發送。 圖1 7爲在本發明的實施例中之如何在用戶裝置和行 動性伺服器之間建立安全通道的電話流程之例子圖。在一 實施例中,爲了建立安全通道,發生註冊。假設使用者第 一次啓動用戶裝置的情況。 在第一步驟1724中,首先必須建立SIP註冊。在一 例子中,用戶SIP 1716可經由伺服器UDP 1714發送SIP 註冊請求。可經由伺服器UDP 1712以伺服器SIP 1710接 收SIP註冊請求。 當接收到SIP註冊請求時,伺服器SIP 1710可透過 伺服器UDP 1712和用戶UDP 1714發送SIP註冊回應 1 7 2 6到用戶S IP 1 7 1 6。一旦已成功完成S IP註冊,則啓 -73- 200814679 動建立安全DDP通道的步驟。 在下一步驟1728中,用戶DDPS模組1718(用戶DDP 1 720的模組)將發送DDPS對話請求到伺服器DDPS模組 1708。在一例子中,可經由用戶 SIP 1716、用戶 UDP 1714、伺服器UDP 1712、伺服器SIP 1710將DDPS對話 請求路由到伺服器DDPS模組1 708。 當接收到DDPS對話請求時,在下一步驟1 73 0中, 伺服器D D P S模組1 7 0 8將透過伺服器S IP 1 7 1 0、伺服器 UDP 1712、用戶 UDP 1714、及用戶 SIP 1716 發送 DDPS 對話回應1 7 3 0到用戶D D P S模組1 7 1 8。一旦已建立安全 通道,則使用者必須向行動性伺服器註冊。爲了通知使用 者,用戶DDPS 1718可將DDPS對話回應轉寄到應用程式 用戶1722 。 當接收到通知時,在下一步驟1 7 3 2中,應用程式用 戶1722發送DDP註冊請求到使用者/裝置管理器17〇4。 在一例子中,應用程式用戶1 722可發送註冊資訊到用戶 DDP 1720。用戶DDP 1720可經由已建立的安全通道(即 經由用戶 DDPS模組1718、用戶SIP ι716、用戶UDP 1714、伺服器UDP 1712、伺服器SIP ι710、及伺服器 D D P S模組1 7 0 8 )發送註冊資訊到D D P 1 7 0 6,後者然後將 註冊資訊路由到使用者/裝置管理器1 704。 當接收到註冊資訊時,在下一步驟1 7 3 2中,使用者 裝置管理器1 704可發送DDP註冊回應到應用程式用戶。 在一例子中,使用者裝置管理器1704發送DDP註冊回應 -74- 200814679 到伺服器DDP 1 706。伺服器DDP 1 706經由已建立 通道(即經由伺服器DDPS 1 70 8、伺服器SIP 1710 器 UDP 1712、用戶 UDP 1714、用戶 SIP 1716、 DDPS 1718)發送註冊資訊到DDP 1 720,後者然後 註冊回應路由到應用程式用戶1 722的使用者。 在具有DDP的行動性架構配置中,註冊可以 事件。在一例子中,當用戶裝置第一次啓動時,用 將向行動性伺服器註冊。因爲在步驟428及43 0已 全通道,所以用戶裝置的使用者可確保已將發送的 註冊資訊加密並且經由安全通道。在一實施例中, 戶裝置和行動性伺服器之間的安全通道維持著就不 發生額外的DDP註冊。在一實施例中,用戶裝置 用程式用戶與企業所管理的應用程式伺服器之間的 在可經由單一安全通道加以安全地實施。圖1 8及] 在一實施例中,DDP如何處理用戶裝置上的應用程 與企業所管理的應用程式伺服器之間的互動之例子 圖1 8爲在一貫施例中的必須發送大檔案之情 易電話流程圖。假設用戶裝置需要下載最新的軟體 情況。在一例子中’應用程式用戶1 8 1 4發送軟體 請求1 8 1 6到負責管理伺服器側上的不同軟體影像 管理器1 802。 在第一步驟1818中’應用程式用戶1814發送 像請求到影像管理器1 8 0 2。在一例子中,首先將 像請求從用戶應用程式1 8 1 4發送到用戶D D P 1 8 1 0 的安全 、伺服 及用戶 將DDP 是一次 戶裝置 建立安 敏感性 只要用 需要再 上的應 互動現 [9圖示 式用戶 〇 況的簡 升級之 升級的 之影像 新的影 新的影 。在接 -75- 200814679 收到新的影像請求之後,DDP 1810可經由安全通道發送 請求到伺服器D D P 1 8 0 8。在發送到影像管理器! 8 〇 2之 前,可將新的影像請求路由到負責決定需要升級哪一軟體 的裝置/使用者管理器1804。在裝置/使用者管理器1804 已決定用戶裝置需要哪一軟體升級之後,裝置使用者/管 理器1 8 0 4可路由新的影像請求到影像管理器1 8 〇 2。 當接收到請求時,然後影像管理器1 8 02發送所請求 的軟體升級(如、所請求的資料1 802)到伺服器DDX模組 1 8 06。在一實施例中,伺服器DDX模組1 8 06可將檔案轉 換成能夠經由用戶裝置和行動性伺服器之間所建立的安全 通道加以發送之格式。在一實施例中,伺服器DDX模組 1 8 06將大檔案分成複數資料封包以便經由安全通道運 輸。 在下一步驟1 822中,伺服器DDX模組1 8 06可透過 伺服器DDP 1808和用戶DDP1810發送DDX檔案轉移開 始到用戶DDX模組1812。在一實施例中,DDX檔案轉移 開始意指即將發送檔案的伺服器DDX與用戶DDX之間的 通知。DDX檔案轉移開始可包括有關諸如檔案名稱、檔 案大小、發送的資料封包數量、請求檔案的應用程式等進 來檔案之基本資訊。 在下一步驟1824中,用戶DDP 1810可發送DDX開 始回應到伺服器D D X 1 8 0 6。在一實施例中,D D P內的 RDDP模組可發送DDX開始回應。 在下一步驟1 826中,伺服器DDX模組1 8 06可發送 -76- 200814679 第一 D D X資料封包到用戶D D X模組1 8 1 2。如圖1 6所說 明一般,首先將DDX資料訊息發送到伺服器DDP 1 8 08。 在一實施例中,將DDX資料訊息封裝成SIP通知訊息, 且透過SIP控制協定和UDP運輸協定經由安全通道發 送。在用戶裝置上,可由用戶DDP 1810接收DDX資料訊 息,然後用戶 DDP 1810可路由 DDX資料訊息到用戶 D D X 模組 1 8 1 2 ◦ 在下一步驟1 82 8中,當接收到DDX資料訊息時,將 由用戶DDP 1810發送DDP應答。在一實施例中,用戶 DDP 1810內的RDDP模組將發送DDP應答以通知伺服器 DDX模組1 8 06已成功接收到進來的DDX資料訊息。 步驟1 826及1 82 8是反覆步驟,可以重複直到伺服器 和用戶DDX模組之間已交換所有DDX資料封包和應答。 一旦已發送最後的DDX資料訊息和DDX應答,則在 下一步驟1 8 3 0中,伺服器DDX模組1 806將發送DDX檔 案轉移結束到應用程式用戶1 8 1 4以通知應用程式用戶已 發送所有DDX資料訊息。在一例子中,可從伺服器DDX 模組1 806發送DDX檔案轉移結束到伺服器DDP 1 8 08到 用戶裝置。Can be used to transfer large amounts of data (eg, image files, log files, etc.) between mobile users and mobile servers. In an embodiment, the DDX module 1 51 includes a mechanism to ensure the integrity of the data transfer between the mobile user and the mobile server. In another embodiment of the present invention, the DDX-69-200814679 module 1 51 may include a mechanism for confirming completion of data transfer to the application. In the embodiment of the present invention, DDP can be implemented for multiple applications. 1 5 3 6 'Multiple applications include voice mobile control application 1 5 06, device management application 15〇4, planning management application 1 5 02 , voice mail/email transmission application 1 5 08, device image management application 1 5 1 0, instant messaging application 1 5 1 2, etc., but not limited to this. In an embodiment of the invention, the plurality of applications can be divided into two groups. In the first group, multiple applications (eg, voicemail/email transmission application 158, device image management application 1 5 1 0, instant messaging application 1512, etc.) are applications that are easy to send large files. The program, such that DDP 1 5 3 6 can utilize the DDX module 1514 to convert the file into smaller data packets that can utilize any other module within the DDP 1536 including 1516, 1518, 1522, and provide the data file that has been successfully transferred and Notify the application of the guarantee of completed transmissions. In the second group, the plurality of applications (voice activity control application 1506, device management application 1504, planning management application 1 502, etc.) are usually applications that are easy to send smaller control messages. Often, the application in the second group tends to control the application. In an example, the S-U-Action Controller 1 506 can enable mobile users and mobile servers to share an operative state that can be sent by a single DDP packet. Figure 16 is a diagram of how the data in the mobile architecture configuration with dDP in an embodiment is between the application user in the user device and the application server managed by the enterprise-70-200814679 industry. An example of the flow. Assume that the user on the user device wants to retrieve the voicemail from the voicemail server 1604 using the voicemail user 1 602. Upon receiving a request from application user 1 602, voicemail server 1604 can initiate a file transfer. The voicemail server 1 6 0 4 can send files along path 1 65 0. When a file is received, the mobile server can prepare an active user to send the file to the user device via a secure channel. In one embodiment, the server DDX module 1 608 within the mobile server can be used to convert the file into a format that is compatible with the control and transmission protocols of the secure channel. In one example, the server DDX module 1 608 can convert a dual format file into a format that can be transmitted via the SIP protocol. Furthermore, the server DDX module 1 608 can divide the file into multiple data packets to ensure the validity of routing the plurality of data packets via the secure channel. After the boot process is completed, the server D D X module 1 0 0 8 can send the first data packet to the server DDP 1 6 16 . In one embodiment, the server D D P 1 6 1 6 may include a DDP S module that is required by the application to encrypt the data packet. In one example, a simple data package (e.g., an instant message) can be sent without encryption. In another example, important data packets (e.g., confidential email) can be encrypted before being routed to the requester. From the server D D P 1 6 1 6 , the first data packet can be encapsulated as a SIP notification message (as shown in code example 3 70 of Figure 16B) and transmitted to the user device via the secure channel via the network 1 624. In one example, the first data packet can be sent via the secure channel by using the server SIP Control Protocol 1 620 and the Server UDP Transport Association -71 - 200814679. The first data packet is securely received by the mobile user of the user device that can receive the data packet via the user UDP transport protocol 1 626 and the user SIP control protocol 1 62 8 . Within the mobile user, the user D D P 1 6 3 2 can receive the first data packet. The user RDDP 1 63 4 can perform a similar check as performed by the server RDDP 1614. Furthermore, the user R D D P 1 6 3 4 can send a SIP notification message with a DDP answer to the server DDX module 1608 via the secure channel along path 1 6 5 2 . By transmitting a DDP answer, the user RDDP 1634 can send a guarantee from the mobile user to the mobile server that has received the data packet. Similarly, if the server R D D P module 1 6 1 4 does not receive the R D D P response, the server RDDP module 1614 will retransmit the data packet until the maximum number of packets has been successfully acknowledged or the retry has been exhausted. In an embodiment, the data packet will be sent and the next data packet will not be sent until the D D P response has been received. In one example, the server DDx module 1608 does not send the second data packet until the DDP response has been received. In another embodiment, the number of fixed data packets can be sent, and no additional packets are sent until a response has been received for one or more of the original data packets. In one example, the server D D X module 1680 can send a group of 1 data packets and wait until at least one response is received before the additional data packets can be transmitted. Once the mobile user has sent a D D P response to the mobile server, the routing data is encapsulated to the user D D X module 1 6 3 6 . In an example, the user D D X module 1 6 3 6 can protect the data packet from -72 to 200814679 before all data packets have been received. In one embodiment, the server DDX module 1 60 8 can send a message indicating that the data packet of the requested file has been sent and there is no additional file data packet to the upcoming message. Once all data packets have been received, the user DDX module 1 63 6 will reorganize the file and notify the voice mail user 1 602 to utilize the voice mail profile. As can be seen from Figures 15 and 16, the DDP architecture provides a single secure channel for multiple application users to interact with multiple application servers. By having data traffic through a single secure channel, the DDP architecture can provide control by ensuring that data packets are received, verified to be known to have received all data packets, and no loss of data packets. In one example, the DDP architecture allows large files to be divided into smaller data packets that can be sent with a guarantee that the receiving side receives the response. Figure 17 is a diagram showing an example of a telephone flow for establishing a secure channel between a user device and an activity server in an embodiment of the present invention. In one embodiment, registration is initiated in order to establish a secure channel. Assume that the user first starts the user device. In a first step 1724, a SIP registration must first be established. In an example, user SIP 1716 can send a SIP registration request via server UDP 1714. The SIP registration request can be received by the server SIP 1710 via the server UDP 1712. Upon receiving the SIP registration request, the server SIP 1710 can send a SIP registration response 1 7 2 6 to the user S IP 1 7 1 6 via the server UDP 1712 and the user UDP 1714. Once the SIP registration has been successfully completed, the step of establishing a secure DDP channel is initiated. In the next step 1728, the user DDPS module 1718 (the module of the user DDP 1 720) will send a DDPS dialog request to the server DDPS module 1708. In one example, the DDPS dialog request can be routed to the server DDPS module 1 708 via the user SIP 1716, user UDP 1714, server UDP 1712, server SIP 1710. When receiving the DDPS dialog request, in the next step 1 73 0, the server DDPS module 1708 will be sent via the server SIP 1 7 1 0, the server UDP 1712, the user UDP 1714, and the user SIP 1716. The DDPS dialogue responds to 1 7 3 0 to the user DDPS module 1 7 1 8 . Once the secure channel has been established, the user must register with the mobile server. To notify the user, the user DDPS 1718 can forward the DDPS dialog response to the application user 1722. When the notification is received, in the next step 1 7 32, the application user 1722 sends a DDP registration request to the user/device manager 17〇4. In an example, application user 1 722 can send registration information to user DDP 1720. User DDP 1720 can send registration via established secure channel (ie via user DDPS module 1718, user SIP ι716, user UDP 1714, server UDP 1712, server SIP ι 710, and server DDPS module 1 708) Information to DDP 1 708, the latter then routes the registration information to User/Device Manager 1 704. Upon receipt of the registration information, in the next step 1 7 32, the user device manager 1 704 can send a DDP registration response to the application user. In one example, user device manager 1704 sends a DDP registration response -74- 200814679 to server DDP 1 706. The server DDP 1 706 sends the registration information to the DDP 1 720 via the established channel (ie via the server DDPS 1 70 8 , the server SIP 1710 UDP 1712, the user UDP 1714, the user SIP 1716, the DDPS 1718), which then registers the response. Routed to the user of application user 1 722. In an active architecture configuration with DDP, registration can be an event. In one example, when the user device is first started, it will be registered with the mobile server. Since the channels are full at steps 428 and 430, the user of the user device can ensure that the transmitted registration information has been encrypted and passed through the secure channel. In an embodiment, the secure channel between the home device and the mobile server is maintained without additional DDP registration. In one embodiment, the user device user and the application server managed by the enterprise can be securely implemented via a single secure channel. Figure 18 and] In an embodiment, an example of how DDP handles interaction between an application on a user device and an application server managed by the enterprise. Figure 18 is a consistent file that must be sent in a consistent application. Emotional phone flow chart. Assume that the user device needs to download the latest software. In one example, the application user 1 8 1 4 sends a software request 1 8 1 6 to manage the different software image manager 1 802 on the server side. In a first step 1818, the application user 1814 sends an image request to the image manager 1802. In an example, the security, the servo, and the user who first sent the request from the user application 1 8 1 4 to the user DDP 1 8 1 0 will establish the sensitivity of the DDP as a primary device. [9 Graphical User's Situation of the upgraded image of the new image of the new movie. After receiving a new image request at -75-200814679, the DDP 1810 can send a request to the server D D P 1 8 0 8 via the secure channel. Send to the image manager! Prior to 8 〇 2, new image requests can be routed to the device/user manager 1804 responsible for deciding which software to upgrade. After the device/user manager 1804 has determined which software upgrade the user device requires, the device user/manager 108 can route a new image request to the image manager 1 8 〇 2. Upon receiving the request, the image manager 108 is then sent the requested software upgrade (e.g., requested data 1 802) to the server DDX module 1 8 06. In one embodiment, the server DDX module 108 can convert the file into a format that can be transmitted via a secure channel established between the user device and the mobile server. In one embodiment, the server DDX module 1 8 06 divides the large file into multiple data packets for transport via a secure channel. In the next step 1 822, the server DDX module 1 8 06 can send a DDX file transfer to the user DDX module 1812 via the server DDP 1808 and the user DDP 1810. In one embodiment, the DDX file transfer start means a notification between the server DDX that is about to send the file and the user DDX. The DDX file transfer start can include basic information about incoming files such as file name, file size, number of data packets sent, application requesting files, and so on. In the next step 1824, the user DDP 1810 may send a DDX to start responding to the server D D X 1 8 0 6 . In one embodiment, the RDDP module within the D D P can send a DDX to start responding. In the next step 1 826, the server DDX module 1 8 06 can send -76- 200814679 the first D D X data packet to the user D D X module 1 8 1 2 . As shown in Fig. 16. Generally, the DDX data message is first sent to the server DDP 1 8 08. In one embodiment, the DDX data message is encapsulated into a SIP notification message and sent over a secure channel via a SIP Control Protocol and a UDP Transport Agreement. On the user device, the DDX data message can be received by the user DDP 1810, and then the user DDP 1810 can route the DDX data message to the user DDX module 1 8 1 2 ◦ In the next step 1 82 8 , when receiving the DDX data message, The user DDP 1810 sends a DDP answer. In one embodiment, the RDDP module within the user DDP 1810 will send a DDP response to inform the server that the DDX module 1 8 06 has successfully received the incoming DDX data message. Steps 1 826 and 1 82 8 are repeated steps that can be repeated until all DDX data packets and replies have been exchanged between the server and the user DDX module. Once the last DDX data message and the DDX response have been sent, in the next step 1 8 3 0, the server DDX module 1 806 will send the DDX file transfer to the application user 1 8 1 4 to notify the application user that the message has been sent. All DDX data messages. In one example, the DDX file transfer may be sent from the server DDX module 1 806 to the server DDP 1 8 08 to the user device.

可由用戶DDP 1810接收到DDX檔案轉移結束。在一 實施例中,在下一步驟1832中,用戶DDP 1810的RDDP 可發送DDP應答到影像管理器1802。 同時,用戶DDP 1810可路由DDX檔案轉移結束到用 戶DDX模組1812,後者將通知應用程式用戶1814。 -77- 200814679 如同圖1 8可明白一般,不必爲了請求軟體升級而建 立新的安全通道。取而代之的是,在不必建立新的安全通 道之下,由應用程式伺服器接收和處理軟體升級的請求。 也可看出,圖1 8圖示如何利用DDP的架構以安全且可靠 的方式發送資料流量,讓發送者和請求者確保已成功接收 所請求檔案的所有資料封包。 圖1 9爲本發明的實施例中之可發送諸如控制應用程 式所發送者等小控制訊息的情況之簡易電話流程圖。在圖 19中,可在沒有DDX模組之下發生應用程式用戶與應用 程式伺服器之間的互動。 假設用戶裝置的使用者想要共用他或她的使用者出席 (如、可利用、忙碌、只有電話等)之情況。 在第一步驟1914中,用戶裝置上的用戶出席管理器 1 9 1 0可將出席偏好設定發送到伺服器出席管理器1 9〇2。 在一例子中,用戶出席管理器1 9 1 0可將出席偏好設定(當 作單一 DDP資料封包)發送到用戶DDP 1908,然後後者 經由安全通道將出席偏好設定發送到伺服器DDP 1 906。 當接收到出席偏好設定時,在下一步驟1 9 1 8中,伺 服器DDP 1906可發送DDP應答。在一實施例中,DDP內 的RDDP模組可發送DDP應答。同時,伺服器DDP 1906 將經由裝置/適用者管理器1 904通知伺服器出席管理器 1 9 0 2有關出席偏好設定。 假設同一使用者想要發現另一使用者的出席狀態之另 一情況。 -78- 200814679 在第一步驟1922中,用戶出席管理器1910可將 詢問1 920發送到用戶DDP 1 908,後者可經由已建立 通道發送出席詢問到伺服器DDP 1 906。當接收到出 問時,伺服器DDP 1 906將經由裝置/使用者管理器 轉寄詢問到伺服器出席管理器1 902,後者可執行所 的詢問以檢索所請求的資訊。 在下一步驟1928中,伺服器出席管理器1902可 席回應(如、所請求的狀態資料)發送到用戶出席管 1910。在一例子中,可經由裝置/使用者管理器1904 席回應從伺服器出協管理器1 902發送到伺服器 1 906。然後,經由安全通道將出席回應發送到用戶 1 90 8,而用戶DDP 1 90 8然後將出席回應路由到用戶 管理器1 9 1 0。 如上述,圖18及19圖示如何將DDP用於管理 裝置上的複數資料應用程式與企業所管理的複數應用 伺服器之間的互動之不同的例子。具有DDP的行動 構配置建立各個應用程式用戶和應用程式伺服器可彼 動之單一通道。再者,可利用DDP的架構以安全和 的方式發送資料流量,使發送者和請求者確保已成功 所請求檔案的所有資料封包。 因爲具有DDP的行動性架構配置現在可以是控 中心,所以具有DDP的行動性架構配置現在可協調 手機的使用者事先已個別管理的各種活動。在一例子 圖1 8圖示如何利用 DDP管理用戶裝置上之使用者 出席 安全 席詢 1904 請求 將出 理器 將出 DDP DDP 出席 用戶 程式 性架 此互 可靠 接收 制的 用戶 中, 的經 -79- 200814679 驗’包括軟體升級、裝置組態、及使用者資訊管理等,但 並不侷限於此。在另一例子中,D D P可藉由讓使用者能夠 共用其狀態以管理使用者的出席(如見圖1 9 ),如此使系統 能夠管理進來的流量和讓其他人能夠看見他或她的狀態。 在另一例子中,DDP可藉由讓使用者從一資料網路漫遊到 另一資料網路以管理行動性,卻不必擔心對話管理。 如從本發明的實施例可明白一般,具有DDP的行動 性架構配置藉由提供用戶裝置上的多個應用程式能夠與企 業伺服器上的複數應用程式通訊之單一安全通道以減少安 全風險。DDP是能夠不管硬體及/或軟體限制仍可有利地 實施之多樣性協定。再者,DDP是可被控制以利用複數控 制及/或運輸協定的適應性協定。 E. Divitas協定代理器(DPP) 若行動性手機上的應用程式之用戶直接存取企業資 源,則需要爲多個協定打開企業防火牆。根據本發明的一 或多個實施例所構思之方法讓以手機爲基的企業應用程式 能夠以安全方式使用現存的VoIP相關連接。 藉由想出分散式協定代理器以實施本發明。分散式協 定代理器可被分成兩部分。一部分連同VoIP用戶一起駐 在行動性手機上。另一部分連同VoIP伺服器一起駐在企 業內。 如圖7A-D所示,以手機爲基的VoIP用戶充作手機 上所執行的不同應用程式之伺服器。此組件使用現存的 V 〇 IP相關連接(如、S IP )以發送應用程式負載橫越到企 -80- 200814679 業。伺服器側代理組件負責拆卸負載且連接到實際的企業 伺服器。用戶和伺服器側代理組件進一步再細分成多個子 組件。各個子組件負責代理一協定。 圖7A圖示根據本發明的一或多個實施例之網路架構 且每一主機包括兩網路介面。經由兩獨立網路提供兩路 徑,一路徑來自介面C0到S0,而另一路徑來自C1到 S1。在SCTP中,這兩路徑將結合。The end of the DDX file transfer can be received by the user DDP 1810. In an embodiment, in a next step 1832, the RDDP of the user DDP 1810 may send a DDP response to the image manager 1802. At the same time, the user DDP 1810 can route the DDX file transfer to the user DDX module 1812, which will notify the application user 1814. -77- 200814679 As can be seen in Figure 18, it is not necessary to establish a new secure channel in order to request a software upgrade. Instead, the application server receives and processes requests for software upgrades without having to establish a new secure channel. It can also be seen that Figure 18 illustrates how the DDP architecture can be used to send data traffic in a secure and reliable manner, allowing the sender and requester to ensure that all data packets for the requested file have been successfully received. Figure 19 is a simplified telephone flow diagram of a case in which a small control message such as a sender of a control application can be transmitted in an embodiment of the present invention. In Figure 19, the interaction between the application user and the application server can occur without the DDX module. It is assumed that the user of the user device wants to share his or her user's presence (eg, available, busy, only phone, etc.). In a first step 1914, the User Attendance Manager 1 9 1 0 on the user device can send the presence preference settings to the server presence manager 192. In one example, the user presence manager 1 910 can send the presence preference (as a single DDP data packet) to the user DDP 1908, which then sends the presence preference settings to the server DDP 1 906 via the secure channel. When the attendance preference setting is received, in the next step 1978, the server DDP 1906 can send a DDP answer. In one embodiment, the RDDP module within the DDP can send a DDP response. At the same time, the server DDP 1906 will notify the server attendance manager 1 902 regarding attendance preference settings via the device/applicator manager 1 904. Suppose another situation in which the same user wants to find the presence status of another user. In a first step 1922, the user presence manager 1910 can send a query 1 920 to the user DDP 1 908, which can send the presence query to the server DDP 1 906 via the established channel. Upon receiving the challenge, the server DDP 1 906 will forward the query via the device/user manager to the server presence manager 1 902, which can perform the query to retrieve the requested information. In the next step 1928, the server presence manager 1902 responds (e.g., the requested status profile) to the user attendance tube 1910. In an example, it may be sent from the server out-of-service manager 1 902 to the server 1 906 via the device/user manager 1904. The presence response is then sent to the user 1 90 8 via the secure channel and the user DDP 1 90 8 then routes the presence response to the User Manager 1 9 1 0. As described above, Figures 18 and 19 illustrate examples of how DDP can be used to manage the difference between the interaction between the complex data application on the device and the complex application server managed by the enterprise. The DDP-enabled configuration creates a single channel through which individual application users and application servers can interact. Furthermore, the DDP architecture can be used to send data traffic in a secure and secure manner, enabling the sender and requester to ensure that all data packets for the requested file have been successfully successful. Because the mobility architecture with DDP can now be a control center, the mobility architecture with DDP now coordinates the various activities that the phone's users have previously managed individually. In an example, FIG. 18 illustrates how to use the DDP management user on the user device to attend the secure enquiry 1904 requesting that the processor will present the DDP DDP attending the user program to the user of the mutual reliable receiving system. - 200814679 "Including software upgrades, device configuration, user information management, etc., but not limited to this. In another example, the DDP can manage the presence of the user by allowing the user to share their status (as shown in Figure 119), thus enabling the system to manage incoming traffic and allow others to see his or her status. . In another example, DDP can manage mobility by allowing users to roam from one data network to another, without having to worry about dialog management. As can be appreciated from embodiments of the present invention, a mobile architecture configuration with DDP reduces the security risk by providing a single secure channel through which multiple applications on the user device can communicate with multiple applications on the enterprise server. A DDP is a diversity agreement that can be advantageously implemented regardless of hardware and/or software limitations. Furthermore, DDP is an adaptive protocol that can be controlled to utilize complex numerical control and/or transportation protocols. E. Divitas Protocol Agent (DPP) If the user of the application on the mobile phone directly accesses the enterprise resources, the enterprise firewall needs to be opened for multiple protocols. The method conceived in accordance with one or more embodiments of the present invention enables a mobile-based enterprise application to use existing VoIP-related connections in a secure manner. The invention is implemented by conceiving a decentralized protocol agent. The decentralized protocol agent can be divided into two parts. Some of them are stationed on mobile phones along with VoIP users. The other part is stationed in the enterprise along with the VoIP server. As shown in Figures 7A-D, mobile-based VoIP users act as servers for different applications executing on mobile phones. This component uses existing V 〇 IP-related connections (eg, SIP) to send application load across the enterprise-80-200814679 industry. The server side proxy component is responsible for removing the load and connecting to the actual enterprise server. The user and server side proxy components are further subdivided into multiple subcomponents. Each subcomponent is responsible for proxying an agreement. Figure 7A illustrates a network architecture in accordance with one or more embodiments of the present invention and each host includes two network interfaces. Two paths are provided via two separate networks, one from interface C0 to S0 and the other from C1 to S1. In SCTP, these two paths will be combined.

Divitas”薄弱用戶”使用內建的動力監視結合的路徑; 當偵測到路徑故障時,協定透過另一路徑發送流量。應用 程式不必知道失敗接管復原已發生。 失敗接管亦可用於維持網路應用程式連接性。例如, 假設包括無線802.1 1介面和乙太介面的膝上型電腦。當 膝上型電腦在其埠接站時,較高速度的乙太介面較適合; 但是當連接中斷(離開埠接站)時,連接應被失敗接管到無 線介面。當回到埠接站時,應偵測到乙太連接且透過此介 面重新開始通訊。這是提供高可利用性和可靠性之一強而 有力的機構。 根據本發明的一或多個實施例,實施多起始處計畫以 提供比使用T C P者的可利用性更高之應用程式。多起始 處主機室具有一個以上的網路介面之主機,因此具有可定 址多起始處主機之一個以上的IP位址。在TCP中,連接 意指兩端點的通道(在此例中,兩主機的介面之間的插 座)。 圖7 B - D圖示根據本發明的一或多個實施例之薄弱用 -81 - 200814679 互連同伺服器上的薄弱用戶之配對如何在手機和伺服器之 間有效建立用以運輸狀態資訊之效率佳的運輸機構。電子 郵件應用程式的例子(如、SMTP)被圖示作使用 SIP-NOTIFY方法以在不知道SMTP應用程式之下隧穿應用程 式層封包。如此具有用戶上的表示層封包應用程式不必爲 了提供對話持續性而改變之優點。 有利的是,行動性應用程式使用上述方法,企業可達 成更安全和容易管理的企業行動性。此方法亦使VoIP販 售商能夠擴展其行動性解決方案到不同的企業應用程式。 參考下面的圖式和討論可更加明白本發明的特徵和優 點。 圖20爲手機上的各個應用程式個別連接到企業內的 對應應用程式伺服器之架構配置的習知技術例子圖。手機 2 000可包括複數應用程式用戶,該複數應用程式用戶包 括Divitas用戶2002、CRM(客戶關係管理)應用程式用戶 2 0 0 6、及郵件應用程式用戶2 0 0 8,但並不侷限於此。應 用程式用戶可彼此獨立或透過應用程式協定介面(API)彼 此互動。在一例子中,應用程式用戶2006及2008可分別 透過 API 2010 及 API 2012 與 Divitas 用戶 2002 互動。 手機2000中的應用程式用戶可與企業2090內的應用 程式伺服器互動。企業2090可包括複數應用程式伺服 器’該複數應用程式伺服器包括Divitas伺服器2022、 CRM應用程式伺服器2026、及郵件應用程式伺服器 2 0 2 8,但並不侷限於此。應用程式伺服器可彼此獨立或透 -82- 200814679 過API彼此互動。在一例子中,應用程式伺服器2026及 2028可分別透過API 2030及API 2032與Divitas伺服器 2022互動。需注意的是,API的目的係使應用程式能夠彼 此互動。然而,因爲各個應用程式彼此獨立,所以透過 API的互動是隨意的。 假設手機2000上的股票經紀人可透過Divitas用戶 2 002與其用戶通訊的情況。儘管與其用戶交談,但是股 票經紀人想要隨手可得到其用戶的投資組合。在此例中, 股票經紀人必須建立兩種不同的對話。股票經紀人可建立 第一對話以使自己能夠透過Divitas用戶2002與其用戶交 談。爲了提及投資組合,股票經紀人可藉由利用CRM應 用程式用戶2006與位在企業2090內的防火牆2040下之 CRM應用程式伺服器2026互動以建立第二對話。 在典型安全插座層(SSL)虛擬私有網路(VPN)環境中, 就已建立的各個通道而言,網路管理者必須建立不同組 態。爲了建立兩種不同對話,必須建立兩種分開的安全通 道。在一例子中,已將新的郵件應用程式用戶添加到手 機。爲了與位在企業的防火牆內之郵件應用程式伺服器通 訊,網路管理者必須建立新的安全通道。如此,在典型 SSL VPN環境中,使用者必須建立多個對話,其需要多個 開始通訊指令且使企業更容易遭受安全風險° SSL VPN環 境不僅對使用者不方便,而且此環境類型也需要更多的人 力資源以管理企業的網路環境安全。 爲了最小化所建立的安全通道數目’可使用網際網路 -83- 200814679 協定(IP)安全閘道器取代SSL。在IP安全VPN環境中, 手機上的一或多個應用程式用戶可藉由橫貫過IP安全用 戶2014與IP安全閘道器2030透過一安全通道與應用程 式伺服器互動。爲了建立安全通道,使用者首先必須提供 認證資料(如、使用者名稱、密碼等)。一旦已建立安全通 道,則使用者亦擔負有每次利用不同的應用程式用戶時之 認證責任。換言之,可將各個應用程式用戶組配成透過不 同的IP位址與其對應的應用程式伺服器通訊。 在一例子中,CRM應用程式用戶2006想要與應用程 式伺服器2026互動。若未曾建立安全通道2084,則使用 者首先必須提供認證資料。一旦已建立安全通道2084, 則爲了使CRM應用程式用戶2006能夠與CRM應用程式 伺服器2026互動,使用者必須提供額外的認證資料。 此外,每一次中斷對話時都必須發生新的安全通道和 重新認證。在一例子中,若使用者在對話時是移動的,則 若連接不見,使用者會遭遇從對話中突然中斷的風險。例 如,透過Wi-Fi網路連接的使用者會橫貫到 Wi-Fi網路 外。對話會中斷,使用者必須建立另一對話,諸如蜂巢式 連接等。結果,使用者受到建立新的對話之不便的干擾並 且也會受挫於有限的行動性。 提供習知技術圖2 1說明應用程式用戶如何與應用程 式伺服器互動。圖21爲使應用程式用戶能夠在IP安全 VPN環境中與應用程式伺服器通訊之方法的習知技術流程 圖。圖21討論有關圖20。 -84- 200814679 假設手機2 0 0 0的使用者想要利用郵件應用程式用戶 2008發送電子郵件之情況。 在第一步驟2102中,將電子郵件資料流量發送到應 用程式伺服器。在一例子中,郵件應用程式用戶2008可 發送電子郵件資料封包到企業2 0 9 0內的郵件應用程式伺 服器2028 。 在下一步驟2104中,由可檢查以決定如何路由流量 之IP Security Client(IP安全用戶)2014接收電子資料流 量。換言之’ IP安全用戶2014可分析各個封包以決定封 包是否是企業2090想要的封包。IP安全用戶2014可藉 由分析位在封包內的IP位址和埠號碼以辨識封包的接收 者。 若電子郵件資料流量的接收者不是企業2090內的複 數應用程式伺服器之一,則在下一步驟2106中,IP安全 用戶2014可丟棄流量或可引導電子郵件流量到不位在企 業2090內的伺服器。如何處理不是企業2090內的應用程 式伺服器想要的電子郵件流量視如何將IP安全用戶20 1 4 糸且配成處理非企業資料流量而定。 若IP安全用戶2014決定資料流量是位在企業2090 內的應用程式伺服器想要的,則在下一步驟2 1 0 8中,在 轉寄資料封包之前,IP安全用戶2014可將各個資料封包 加密。加密各個資料封包的處理需要手機2000具有足夠 的CPU處理功率。另外,在ip安全VPN環境中加密各個 資料封包的要求會產生諸如網路電話(ν〇ΙΡ)通信對話等語 -85- 200814679 音通信情況中的潛在因素問題。換言之,語音通訊對話期 間的語音品質嚴重惡化,導致不佳的語音通訊經驗(如、 背景中的回音、無法聽見的談話等)。 在下一步驟 2110 中,IP Security Client(IP 安全用 戶)2014可沿著安全通道2084發送經加密流量到想要的 應用程式伺服器。如上述,在每次利用新的應用程式時安 全通道必須建立安全通道。在一例子中,IP安全用戶 2 0 1 4可經由網路2 0 5 0及防火牆2 0 4 0發送經加密流量到 企業 2090 的 IP Security Gateway (IP 安全閘道器)2030。 在下一步驟21 12中,IP安全閘道器203 0執行檢查 以決定如何路由流量。與IP安全用戶2014類似,IP安全 閘道器203 0分析各個封包以決定封包是否是企業2090想 要的。 若偶而接收到資料封包不是經加密IP安全封包,則 在下一步驟2114中,IP安全閘道器2030丟棄該封包。 若資料封包是經加密IP安全封包,則在下一步驟 21 16中,IP安全閘道器203 0可將流量解密。 一旦已解密封包,則IP安全閘道器203 0分析封包以 辨識接收的應用程式伺服器之IP位址和埠號碼。在下一 步驟21 1 8中’ IP安全閘道器203 0將資料封包轉寄到適 當的應用程式伺服器(如、郵件應用程式伺服器2 0 2 8 )。 步驟2 1 02到2 1 1 8所說明的方法是連續處理且爲應用 程式用戶所接收的各個封包加以執行。 習知技術有幾點不利點。在一例子中,必須爲添加到 -86- 200814679 使用者的手機之每一個新的應用程式用戶執行不同的組 態。當添加新的應用程式用戶時’各種不同的應用程式用 戶和其對應的應用程式伺服器之管理導致更複雜的建立關 係網路環境,如此維持代價變得很高。再者,使用者必須 負起執行多個認證的責任’如此需要使用者記住複數認證 資料。另外,由於需要加密資料流量,導致硬體成本增加 (如、手機必須具有足夠的CPU處理功率)和潛在因素增 多,所以在IP安全VPN環境內操作所得到的益處減少。 此外,使用者會受挫於所提供的有限行動性,每一次對話 中斷,使用者就必須重新建立連接和重新認證。 在本發明的一觀點中,本發明人在本文實現統合多個 認證及/或多個安全通道的習知技術架構配置以建立單一 開始通信指令的環境。 換言之,本發明人實現藉由將各個應用程式組配成經 由單一應用程式(如、Divitas用戶)和單一伺服器(如、 Divitas伺服器)引導其資料流量,來自複數應用程式的資 料流量可透過單一安全通道被發送而不需要使用者執行多 個認證。此外,在不必犧牲行動性之下也可大幅降低對話 損失。 根據本發明的實施例,藉由實施Divitas協定代理伺 服器(DPP)以提供行動性架構配置。在一實施例中,DPP 包括用戶D P P和伺服器D P P。 在本發明的實施例中,手機可包括行動性用戶(如、 Divitas用戶,其可包括用戶DPP以管理手機和行動性伺 -87- 200814679 服器(如、Divitas伺服器)之間的連接性。在本發明的實施 例中,行動性伺服器可包括伺服器DPP以管理行動性伺 服器和手機之間的連接性。在本發明的實施例中,用戶和 伺服器DPP可包括複數子用戶/伺服器DPP以管理不同的 協定類型(如、SIP、SMTP等)。 在本發明的實施例中,DPP能夠從各個應用程式用戶 與其對應的應用程式伺服器互動建立單一安全通道。因爲 各個應用程式正經由共同DPP路由其資料流量,所以 DPP現在可管理手機和行動性伺服器之間的連接性。連接 性資訊可包括透過諸如SIP(對話啓動協定)等控制協定建 立手機和行動性伺服器之間的安全通道。連接性資訊可被 用於決定何時和如何連接手機。此外,連接性資訊亦可包 括何時執行從一網路到另一網路的傳訊(如、從Wi-Fi網 路到蜂巢式網路),藉以能夠在不同網路之間無縫變換。 參考下面的圖式和討論可更加明白本發明的特徵和優 點。 圖22爲本發明的實施例中之行動性架構配置的簡易 方塊圖。在行動性架構配置2200中,手機2202與企業 2 2 1 6內的D i v i t a s伺服器2 2 1 8 (如、行動性伺服器)互動。 手機2 2 0 2可包括D i v i t a s用戶2 2 0 4 (如、行動性用戶)和複 數應用程式用戶(2206及2208)。在本發明的實施例中’ Divitas用戶2204可包括用戶DPP以管理手機和行動性伺 服器之間的連接性。 不像習知技術一般,應用程式用戶2206和應用程式 -88- 200814679 用戶2208不被組配成直接與它們的對應應用程式伺服器 (2220及2222)互動。在一實施例中,取而代之的是,用 於各個應用程式用戶的各種不同組態可被簡化成引導所有 資料流量到與Divitas用戶2204相關聯的單一區域IP主 機22 10(如、127.0.0· 1的IP位址)。換言之,來自應用程 式用戶2206及220 8的資料流量現在可被組配成透過API 2212及2214被路由到DiWtas用戶2204。從Divitas用 戶 2204,然後,可經由企業內2216的Divitas伺服器 2218透過網路2224(如、網際網路)路由所有資料流量。 在本發明的實施例中,Divitas伺服器2218可包括伺服器 DPP以管理手機和行動性伺服器之間的連接性。一旦 D i v i t a s伺服器2 2 1 8已接收到資料流量,則D i v i t a s伺服 器2218可透過API(223 2及2234)適當路由流量到對應的 應用程式伺服器(2220及2222)。 假設手機2202的使用者想要藉由利用應用程式用戶 2 206發送電子郵件之情況。因爲應用程式用戶2206已被 組配成發送所有資料流量到區域欲主機22 1 0,所以來自 應用程式用戶2206的資料流量透過API 2212被發送到與 Divitas用戶22 04相關聯的區域IP主機2210。 當接收來自應用程式用戶2206的流量時,Divitas用 戶2204可使用Divitas資料交換(DDX)將流量封裝在SIP Notify Message內。如本文所討論一般,DDX意指用以在 手機和伺服器之間傳送資料封包的協定。在封裝資料封包 時,DDX添加新的標記,該標記添加有關發送資料流量 89- 200814679 的應用程式用戶之資訊。 不像習知技術一般,並不加密所有的資料封包。取而 代之的是’資料封包是否被加密視應用程式用戶所指定的 偏好而定。在本發明的實施例中,新添加的DDX被加 密。一旦資料封包已經封裝在SIP Notify Message內,則 已封裝的資料封包現在沿著包括橫貫經過網路2 2 2 4之安 全通道2250被轉寄到由Divitas伺服器221 8接收。需注 意的是’若由一或多個安全模組(如、防火牆222 6)保護企 業,則資料封包亦必須橫貫經過一或多個安全模組。 一旦已由 Divitas伺服器2218接收資料封包,則 Divitas伺服器2218可利用DDX標記檢索應用程式伺服 器的位置。在一例子中,DDX標記可包括辨識號碼(如、 MAC位址、埠位址),其可指出企業內哪一個應用程式伺 服器(如、應用程式伺服器22 20)是想要的資料封包接收 者。 在一實施例中,行動性架構配置可管理手機和行動性 伺服器之間的連接性。在一實施例中,行動性架構配置可 利用諸如SIP等一般手機利用的控制協定。 在行動性架構配置中,爲了建立安全通道,使用者只 必須執行一次人工認證。換言之,一旦已在手機和行動性 伺服器之間建立安全通道,則不必在每一次應用程式用戶 (2206及2208)想要與應用程式伺服器(2220及2222)互動 時都必須建立另一安全通道。 在一實施例中,行動性架構配置亦可包括資料庫,此 -90- 200814679 資料庫包括用於各個應用程式用戶的認證資料。如此,每 一次利用不同的應用程式用戶時,在一實施例中,行動性 架構配置可利用儲存在資料庫中之應用程式特有的認證資 料以自動認證使用者。從使用者的觀點看來,行動性架構 配置實質上是單一開始通信指令環境。 有利的是’行動性架構配置大體上使時間和努力有效 率,網路管理者必須花費在組配各個應用程式用戶。網路 管理者只要藉由組配各個應用程式用戶與區域主機互動就 可大體上消除此處理,藉以取代每一次添加新的應用程式 用戶到手機時都必須建立新的安全通道。另外,利用單一 開始通信指令,網路管理者能夠大體上減少與管理安全相 關聯的時間和成本。 行動性架構配置可被實施當作豐富或薄弱用戶。圖 23爲本發明的實施例中之當作豐富用戶的行動性架構配 置之方塊圖。如本文所討論一般,豐富用戶意指用戶DPP 和伺服器DPP不僅管理各種不同的應用程式而且也提供 支援給至少一或多個應用程式用戶功能(如、語音應用程 式用戶、即時訊息應用程式用戶、電子郵件應用程式用戶 等)之行動性架構配置。 假設例如手機23 02的使用者想要利用郵件應用程式 用戶 2310(如、Microsoft®Outlook等)檢索來自位在企業 2318 內的郵件應用程式伺服器 23 26(如、 Micro so ft® Exchange伺服器等)之電子郵件的情況。將連 同圖24 —且討論圖23。圖24爲本發明的實施例中之圖 -91 - 200814679 解利用行動性架構配置的方法之例子的簡易流程圖。 在第一步驟2402中,應用程式用戶發送資料流量到 Divitas用戶的區域主機。在行動性架構配置中,應用程 式用戶2310已被配置成經由位在Divitas用戶2304內的 區域主機2 3 0 8路由其資料流量。在一例子中,應用程式 用戶2310可透過TCP-IP發送SMTP(簡單郵遞傳輸協定) 資料封包2312到Divitas用戶2304。可由位在Divitas用 戶2304中的SMTP代理用戶2306(如、子用戶DPP)接收 SMTP資料封包23 1 2。 在一實施例中,用戶DPP可包括複數子用戶DPP。 用於處理資料流量的代理用戶類型可視應用程式用戶類型 而定。在本發明的實施例中,資料封包包括應用程式用戶 特有的埠號碼。在一例子中,SMTP資料封包2312包括 下面的資料一 1 27.0.0.1 /25。在此例中,號碼127.0.0.1是 區域主機2 3 0 8特有的IP位址,且號碼25表示在此例中 與SMTP代理用戶23 06相關聯的埠號碼。 在下一步驟2404中,資料流量可被封裝當作具有 DDX標記的SIP Notify Message。換言之,當接收資料封 包2312時,Divitas用戶2304將SMTP資料封包2330 重新格式化成透過諸如S IP等手機的控制協定可傳輸之 SIP資料封包2330(諸如SIP Notify Message等)。在本發 明的實施例中,SIP資料封包23 3 0包括具有DDX標頭 23 3 0a和SIP標頭23 3 0b之原始資料封包(如、資料封包 2 3 1 2)。如上述,D D X標頭包括應用程式伺服器特有的特 -92- 200814679 有識別號碼。在本發明的實施例,依據包括在SMTP資料 封包中的埠號碼可產生特有識別號碼。在本發明的實施例 中,額外的標記可包括在格式化資料封包中以辨識如何運 輸格式化資料封包。在例子中,運輸協定標記23 3 0c可以 是UDP-IP運輸標記。 在本發明的實施例中,可將SIP資料封包23 3 0的一 或多個部分加密。在一實施例中,即使資料封包的剩餘部 分不被加密,仍將DDX部分加密。 ' 在下一步驟2406中,Divitas用戶可發送資料封包到 Divitas伺服器。一旦已將資料封包2312重新格式化成 SIP 資料封包 23 3 0(如、被封裝當作 SIP Notify Message(通知訊息)),則可透過安全通道23 5 0經由網路 23 14及/或防火牆23 16發送SIP資料封包23 3 0到Di vitas 伺服器23 20。 在下一步驟2408中,Di vitas伺服器可檢查以決定進 來的資料封包是否是SIP Notify Message。若進來的資料 封包不是SIPNotifyMessage,則在下一步驟2410中,可 丟棄資料封包。 然而,若進來的資料封包是SIP Notify Message,則 在下一步驟2412中,Divitas伺服器可藉由檢查DDX標 記以檢查預期的代理伺服器。在一實施例中,Divitas伺 服器必須解密DDX封包以讀取儲存在DDX封包中的資 訊。在一例子中,依據DDX標記中的特有辨識號碼, Divitas伺服器2320知道路由資料封包23 3 0到SMTP代 -93- 200814679 理伺服器23 22。在本發明的實施例中,伺服器DPP可包 括複數子伺服器DPP。在本發明的實施例中,處理進來流 量的代理伺服器類型是資料流量類型而定。 在下一步驟24 1 4中,可將資料封包路由到代理伺服 器。因爲SIP資料封包23 3 0是SMTP資料封包,所以由 位在Divitas伺服器2320內部的SMTP代理伺服器23 22 處理格式化資料封包(如、子伺服器D P P)。 在下一步驟2416中,將資料封包路由到預期的應用 程式伺服器。在本發明的實施例中,SMTP代理伺服器 23 22可將SIP資料封包23 3 0轉換成接受應用程式伺服器 可接受的格式。在一例子中,可將SIP資料封包23 3 0從 SIP Notify Message轉換成SMTP資料封包23 2 8。另外可 將DDX部分丟棄。另外,可將傳送協定從UDP-IP改成 TCP-IP,後者更有利於透過API 23 3 2部署電子郵件資料 流量到各自的應用程式伺服器(如、郵件應用程式伺服器 2326) 〇 圖24所說明的方法步驟不圖示資料封包的加密及/或 解密。在一實施例中,可在不加密之下發送資料封包。加 密的要求是隨意的,可視使用者的要求而定。在一實施例 中,可將部分或整個資料封包加密。在一實施例中,可將 DDX部分加密,而保持資料封包的剩下部分不加密。隨 意的加密使欲利用的處理功率變少且減少通常與經加密資 料封包相關聯的潛在因素。 如從圖23及24可看出一般,豐富行動性架構配置可 -94- 200814679 充作使手機的應用程式用戶能夠在單一開始通信指令環境 內與應用程式伺服器戶動之行動性管理器。另外,豐富的 行動性架構配置可包括用以將來自各種應用程式的資料封 包轉換成能夠由已建立的安全通道所特有之控制協定和運 輸協定來運輸的資料封包。 在本發明的實施例中,如圖2 5所示,行動性架構配 置可被實施作薄弱用戶。在薄弱行動性架構配置中,用戶 DPP和伺服器DPP可只被利用當作行動性管理器(如、管 理應用程式的連接性),及不提供支援給至少一或更多應 用程式功能。 假設例如手機25 00的使用者想要打電話給朋友的情 況。使用者可利用電話應用程式用戶25 08(如、VoIP等) 打電話。在此例中假設已在DiWtas用戶2502和位在企業 2530內的Divitas伺服器2518之間建立安全通道2550。 爲了建立電信對話,電話應用程式用戶25 08可發送 資料封包2512(如、SIP/UD-IP)到Divitas用戶2502內的 區域主機2510。如上述,複數代理用戶可駐在Divitas用 戶2502內以支援各種不同的應用程式用戶。在一例子 中,SIP代理用戶2504可位在Divitas用戶2502內以處 理來自電話應用程式用戶2 5 0 8的資料封包。 在接收資料封包2512時,SIP代理用戶25 04可分析 資料封包以決定如何路由封包。如上述,可發送到 Divitas用戶的資料封包可包括應用程式伺服器特有的埠 號碼(如、5060等)。利用此資訊,Divitas用戶2502可經 -95- 200814679 由網路2514和防火牆2528路由資料封包2512到Divitas 伺服器25 1 8。在一實施例中,若資料封包已經在Divitas 用戶可路由的格式,則不必轉換資料封包。在一例子中, 資料封包2512示在SIP/UDP-IP格式,此格式是Divitas 用戶25 02可用來路由其資料流量之格式。 在一實施例中,複數代理伺服器可駐在Divitas伺服 器內。在例子中,SIP代理伺服器25 32可駐在Divitas伺 服器25 18內,以管理從電話應用程式用戶2 5 0 8進來的資 料流量。因爲已從電話應用程式用戶2 5 0 8發送資料封包 25 12,所以由SIP代理伺服器25 3 2處理資料封包。當接 收資料封包2512時,SIP代理伺服器25 32可透過電話閘 道器2520(如、PSTN、GSM、CDMA等)沿著路徑2522轉 寄資料封包25 1 2到目的地電信裝置(如、電話等)。一旦 已在手機25 00和目的地電信裝置之間建立電信對話,則 由電話應用程式用戶發送的其他資料封包25 3 0(如、RTP 資料封包等)可經由安全通道2 5 5 0沿著路徑2560發送到 Divitas伺服器2518,而不必經過Divitas用戶2502。 在薄弱行動性架構配置中,藉由Divitas用戶的幫助 建立電信交談的目的係使應用程式用戶能夠利用 Divitas 用戶的行動性功能。換言之,已在Divitas用戶和Divitas 伺服器之間建立控制中心以監視應用程式用戶的連接性。 藉由建立此關係,當情況發生時,Divitas用戶和Divitas 伺服器能夠共用其連接性狀態,並且能夠無縫地處理漫 遊。 -96- 200814679 在例子中,上述情況中的使用者目前可經由Wi-Fi網 路連接。在電話交談期間’使用者可漫遊到Wi-Fi網路 外。在習知技術中,連接可能中斷而使用者必須重撥。然 而,在行動性架構配置中,使用者的手機之連接性狀態已 被監視,並且Divitas用戶和Divitas伺服器可在使用者 未察覺變化之下,執行無縫網路交換(如、從Wi-Fi到蜂 巢式網路)。 有利地是,已投入大量金錢到複數應用程式和只需要 行動性管理器之企業可實施薄弱行動性架構配置。如此, 企業能夠利用行動性架構配置的行動性管理器性能而不必 重新建構其電信基礎建設。 如從本發明的實施例可明白一般,具有DPP的行動 性架構配置提供能夠使電信基礎建設流暢之行動性管理 器。換言之,行動性架構配置提供單一開始通訊指令的環 境。在例子中可利用單一安全通道達成相同功能以取代企 業的多個安全通道。利用單一開始通訊指令的環境,可大 幅降低管理電信基礎建設的成本和精力。另外,行動性架 構配置能夠監視且無縫地處理連接性,而不會負面地影響 使用者的電信經驗。 F .結論 儘管已利用幾個較佳實施例說明本發明,但是可有落 在本發明的範圍內之修改、變更、及同等物。亦應注意的 是,有許多實施本發明的方法和設備之其他方式。而且, 可在其他應用中發現本發明的實施例之效用。爲了方便, -97- 200814679 本文提供抽象槪念,由於字數限制,因此僅爲了閱讀方便 而並非用於限制申請專利範圍的範疇。因此,下面附錄白勺 申請專利範圍應解釋作包括落在本發明的真正精神和範疇 之所有此種修改、變更、及同等物。 【圖式簡單說明】 經由例子圖解說明本發明,但是並非限制,在附圖的 圖式中,相同參照號碼意指類似元件,其中: 圖1爲根據本發明的一或多個實施例之系統網路圖。 圖2A-C爲根據本發明的一或多個實施例之行動性伺 服器圖。 圖3爲根據本發明的一或多個實施例之行動性配備用 戶圖。 圖4爲根據本發明的一或多個實施例之以編碼/解碼 益爲基的回苜消除器之方塊圖。 圖5 A爲根據本發明的一或多個實施例之語音跳動緩 衝計畫圖。 圖5B爲根據本發明的一或多個實施例之語音跳動緩 衝計畫圖。 圖6A爲根據本發明的一或多個實施例之DDP架構的 槪要圖。 圖6B爲根據本發明的一或多個實施例之DDP訊息交 換圖。 圖7A爲每一主機包括兩網路介面且根據本發明的一 -98- 200814679 或多個實施例所製造之網路架構圖。 圖7B爲根據本發明的一或多個實施例所製造之網路 架構圖。 圖7 C爲根據本發明的一*或多個實施例所製造之網路 架構圖。 圖7D爲根據本發明的一或多個實施例所製造之網路 架構圖。 圖8 A爲包括回音消除濾波器之示範性習知技術通訊 裝置的方塊圖。 圖8B爲用於例如圖8A所示的示範性習知技術通訊 裝置作爲消除回音之示範性習知技術方法的流程圖。 圖9A爲根據本發明的一或多個實施例之在未依賴濾 波器之下取消回音的通訊裝置(或系統或配置)之方塊圖。 圖9 B爲根據本發明的一或多個實施例之用於圖9 A 所示的通訊裝置(或系統或配置)之ID碼產生器的方塊 圖。 圖9C爲根據本發明的一或多個實施例之例如圖9A 所示的通訊裝置(或系統或配置)之用以消除回音的方法之 流程圖。 圖1 0 A爲具有適應性跳動緩衝計畫的第一示範性習 知技術封包語音通訊系統(第一習知技術配置)之方塊圖。 圖1 0B爲用於例如圖丨〇 a的例子中所示之第一習知 技術配置的習知技術跳動緩衝計畫之發送器側處理的流程 圖。 -99- 200814679 圖1 0C爲習知技術延遲計算處理的流程圖。 圖1 0D爲習知技術封包實施控制處理的流程圖。 圖10E爲當打開發送器側語音活動偵測器(VAD)時的 封包實施控制中之所接收封包流程的槪要表示圖。 圖1 0F爲關掉發送器側VAD時的封包實施控制中之 所接收封包流程的槪要表示圖。 圖1 1 A爲包括適應性緩衝器溢位控制之第二習知技 術封包語音通訊系統(第二習知技術配置)的接收器側裝置 之方塊圖。 圖1 1 B爲用於例如圖1 1 A之例子所示的接收器側裝 置之無聲偵測處理的流程圖。 圖1 1 C爲用於例如圖1 1 A之例子所示的接收器側裝 置之緩衝器溢位控制處理的流程圖。 圖1 2 A爲根據本發明的一或多個實施例之具有適應 性跳動處理封包語音通訊系統的接收器側裝置之方塊圖。 圖1 2 B爲根據本發明的一或多個實施例之用於例如圖 1 2 A之例子所示的接收側裝置之適應性跳動處理所利用的 延遲插入控制處理圖。 圖1 3爲根據本發明的一或多個實施例之具有適應性 跳動處理的封包語音通訊系統之接收器側裝置的方塊圖。 圖1 4爲在應用程式用戶與應用程式伺服器之間建立 連接的電話流程之習知技術例子圖。 圖1 5爲本發明的實施例之DDP發明的簡易架構圖。 圖1 6A爲實施例中之具有DDP的行動性架構配置內 -100- 200814679 之資料如何在位於用戶裝置內的應用程式用戶與企業所管 理之應用程式伺服器之間流動的例子圖。 圖16B爲實施例中之封裝式SIP通知訊息的碼例子 圖。 圖1 7爲實施例中之圖解如何在用戶裝置與行動性伺 服器之間建立安全通道的電話流程之例子圖。 圖1 8爲實施例中之圖解必須發送大的檔案之情況的 簡易電話流程圖。 圖1 9爲本發明的實施例中之圖解可發送諸如由控制 應用程式所發送者等小的控制訊息之情況的簡易電話流程 圖。 圖20爲將手機上的各個應用程式個別連接到企業內 的對應應用程式伺服器之架構配置的習知技術例子圖。 圖21爲使應用程式用戶能夠在IP安全VPN環境中 與應用伺服器通訊之方法的習知技術流程圖。 圖22爲本發明的實施例中之行動性架構配置的簡易 方塊圖。 圖23爲本發明的實施例中之行動架構配置當作重負 載用戶端的方塊圖。 圖2 4爲本發明的實施例中之利用行動性架構配置的 方法之例子的簡易流程圖。 圖2 5爲本發明的實施例中之行動性架構配置被實施 當作輕負載用戶端之圖。 -101 - 200814679 【主要元件符號說明】 1 〇 〇 :系統網路 102 :行動配備 1 1 〇 :蜂巢式網路 1 1 2 :基地收發站 1 1 4 ·· B T S交換中心 1 1 6 :行動交換中心 120 :媒體閘道器 122 :公用交換電話網路 1 2 4 :習知公用和專用電話 1 3 0 :專用分支交換機 1 3 2 :路由器 1 3 6 :電話 1 3 7 :電話 1 3 8 :網際網路協定廣域網路 1 4 0 :路由器 1 4 2 :防火牆 1 4 4 :網際網路 1 5 0 :行動性伺服器 1 6 0 :存取點 1 8 0 :存取點 800 :習知技術通訊裝置 802 :信號接收器 806 :揚聲器 -102- 200814679 8 0 8 :回音路徑 810 :麥克風 8 1 2 :緩衝器 8 1 4 :濾波器 8 1 4 :回音消除器 8 1 6 :總和函數 9 0 0 :通訊裝置 904 :信號接收器 906 :背景雜訊去除器 90 8 :回音路徑 9 1 0 :辨識碼注入器 914 :揚聲器 916 :麥克風 922 :辨識碼產生器 924 :辨識碼偵測器 926 :緩衝器 928 :延遲器 93 0 :總和函數 93 2 :信號發送器 1〇〇〇 :速度緩衝器 1001 =語音活動偵測器 1 0 0 2 :發送器 1 0 0 3 :網路 1 004 :封包緩衝器 -103- 200814679 1 0 0 5 :封包實施控制器 1006:延遲插入控制器 1 007 :延遲資訊模組 1 〇 〇 8 :跳動計算機 1 009 :實施延遲計算機 1 0 8 0 :語音封包 1080a :封包 1 〇 8 2 :無聲描述符 1 〇 8 4 :無聲 1 0 8 6 :語音封包 1086a:封包 1 0 8 8 :無聲 1 090 :無聲描述符 1091 :發送器側裝置 1 092 :接收器側裝置 1 092a :語音封包 1 〇 9 4 :無聲封包 1 0 9 6 :語音封包 1 09 8 :無聲封包 1100 :接收器側裝置 1102 :封包緩衝器 1 104 :封包實施控制器 1 1 0 8 :延遲插入控制器 1 η 〇 :跳動計算機 -104- 200814679 1 1 1 4 :緩衝器溢位控制器 1 η 6 :無聲偵測器 1 1 1 8 :解碼器 1 1 8 0 :附加組件 1 1 9 9 :鏈路 1 200 :接收器側裝置 1 2 0 2 :封包緩衝器 1 204 :跳動計算機 1 206 :實施延遲計算機 1 2 0 8 :封包實施控制器 1 2 1 0 :解碼器 1 2 1 2 :無聲偵測器 1 2 1 4 :延遲插入控制器 1 2 1 6 :延遲資訊模組 1 2 9 9 :鏈路 1 3 00 :接收側裝置 1 3 02 :封包緩衝器 1 3 04 :跳動計算機 1 3 06 :補償計算機 1 3 0 8 :封包實施控制器 1 3 1 0 :解碼器 1 3 1 2 :視頻偵測器 1 3 1 4 :補償控制器 1 3 1 6 :鏈路補償資訊模組 105 200814679 1 3 9 9 :鏈路 1 402 :應用程式伺服器 1 404 :應用程式用戶 1 406 :軟體下載 1424 :通知 1 5 02 :企畫管理應用程式 1 5 04 :裝置管理應用程式 1 5 06 :語音行動性控制應用程式用戶 1 5 0 8 :語音郵件/電子郵件傳輸應用程式 1 5 1 0 :裝置影像管理應用程式 1 5 1 2 :即時訊息應用程式 1 5 1 4 :戴維他資料交換模組 1 5 1 6 :可靠戴維他描述協定模組 1 5 1 8 :優先權訊息排程模組 1 5 2 0 :內建對話管理模組 1 5 22 :具有安全延伸的戴維他描述協定模組 1 524 :控制協定 1 5 2 6 :傳輸控制協定 1 5 2 8 :使用者資料元協定 1 5 3 0 :傳輸控制協定 1 5 3 2 :對話啓動協定 1 5 3 4 :使用者資料元協定 1 5 3 6 :戴維他描述協定 1 602 :語音郵件用戶 -106- 200814679 1 604 :語音郵件伺服器 1 60 8 :伺服器戴維他資料交換模組 1 6 1 4 :伺服器可靠戴維他描述協定模組 1 6 1 6 :伺服器戴維他描述協定 1 62 0 :伺服器對話啓動協定控制協定 1 622 :伺服器使用者資料元協定傳輸協定 1624 :網路 1 626 :用戶使用者資料元協定傳輸協定 1 62 8 :用戶對話啓動協定控制協定 1 6 3 2 :用戶戴維他描述協定 1 63 4 :用戶可靠戴維他描述協定 1 63 6 :用戶戴維他資料交換模組 1 6 5 0 :路徑 1652 :路徑 1 700 :企業伺服器 1 702 :用戶裝置 1 704 :使用者/裝置管理器 1 706 :戴維他描述協定 1 7 〇 8 :分散式資料處理系統 1 7 1 0 :對話啓動協定 1 7 1 2 :使用者資料元協定 1 7 1 4 :使用者資料元協定 1 7 1 6 :對話啓動協定 1 7 1 8 :分散式資料處理系統 -107- 200814679 1 720 :戴維他描述協定 1 722 :應用程式用戶 1 802 :影像管理器 1 804 :裝置/使用者管理器 1 8 0 6 :伺服器戴維他資料交換模組 1 8 0 8 :伺服器戴維他描述協定 1 8 1 0 :用戶戴維他描述協定 1 8 1 2 :用戶戴維他資料交換模組 1 8 1 4 :應用程式用戶 1 8 1 6 :請求 1 902 :伺服器出席管理器 1 904 :裝置/使用者管理器 1 906 :伺服器戴維他描述協定 1908·用戶戴維他描述協疋 1910:用戶出席管理器 1 9 2 0 :出席詢問 2 0 0 0 :手機 2002 :戴維他用戶 2006 :客戶關係管理應用程式用戶 200 8 :郵件應用程式用戶 2010 :應用程式協定介面 2012 :應用程式協定介面 2014:網際網路協定安全用戶 2022 :戴維他伺服器 -108- 200814679 2 026 :客戶關係管理應用程式用戶 202 8 :郵件應用程式伺服器 203 0 :網際網路協定安全閘道器 203 0 :應用程式協定介面 203 2 :應用程式協定介面 2040 :防火牆 2 0 5 0 :網路 2084 :安全通道 2090 :企業 2200 :行動性架構配置 2 2 0 2 :手機 2204 :戴維他用戶 2206 :應用程式用戶 220 8 :應用程式用戶 2210 :區域網際網路協定主機 2212 :應用程式協定介面 2214 :應用程式協定介面 2216 :企業 2218 :戴維他伺服器 2220 :應用程式伺服器 2222 :應用程式伺服器 2224 :網路 2226 :防火牆 223 2 :應用程式協定介面 -109- 200814679 223 4 :應用程式協定介面 225 0 :安全通道 2 3 0 2 :手機 23 04 :戴維他用戶 23 06 :簡單郵遞傳輸協定代理用戶 2 3 0 8 :區域主機 2310 :郵件應用程式用戶 23 12 :簡單郵遞傳輸協定資料封包 2 3 1 4 :網路 2 3 1 6 :防火牆 2318:企業 23 2 0 :戴維他伺服器 23 22 :簡單郵遞傳輸協定代理伺服器 23 26 :郵件應用程式伺服器 23 2 8 :簡單郵遞傳輸協定資料封包 23 3 0 :對話啓動協定資料封包 23 3 0a :戴維他資料交換標頭 23 3 0b :對話啓動協定標頭 23 3 0c :運輸協定標記 23 3 2 :應用程式協定介面 23 5 0 :安全通道 2 5 0 0 :手機 25 02 :戴維他用戶 25 04 :對話啓動協定代理用戶 -110- 200814679 25 0 8 :電話應用程式用戶 2 5 1 0 :區域主機 2512 :資料封包 2 5 1 4 :網路 2518 :戴維他伺服器 2520 :電話閘道器 2522 :路徑 25 2 8 :防火牆 2530 :企業 25 3 2 :對話啓動協定代理伺服器 25 5 0 :安全通道 2 5 5 2 :應用程式協定介面 2560 :路徑 25 62 :即時協定 X :信號 y ’ :信號 y 1 :信號 Z :信號 -111 -Divitas "weak users" use built-in power to monitor the combined path; when a path failure is detected, the agreement sends traffic through another path. The application does not have to know that a failed takeover restore has taken place. Failed takeovers can also be used to maintain network application connectivity. For example, assume that wireless 802 is included. 1 1 interface and Ethernet interface laptop. The higher speed Ethernet interface is more suitable when the laptop is in its docking station; however, when the connection is interrupted (away from the docking station), the connection should be failed to take over to the wireless interface. When returning to the docking station, the Ethernet connection should be detected and communication resumed via this interface. This is a powerful institution that provides high availability and reliability. In accordance with one or more embodiments of the present invention, multiple start-up plans are implemented to provide an application that is more usable than those using T C P. Multiple start-up hosts have more than one network interface host, so they have more than one IP address that can address multiple start-up hosts. In TCP, a connection means a channel at both ends (in this case, a socket between the interfaces of the two hosts). 7B-D illustrates how the weakening of the interconnect with the weak user on the server in accordance with one or more embodiments of the present invention effectively establishes information for transport status between the handset and the server. An efficient transportation agency. Examples of e-mail applications (eg, SMTP) are illustrated using the SIP-NOTIFY method to tunnel application layer packets without knowing the SMTP application. The presence of the presentation layer encapsulation application on the user does not have to be changed to provide continuity of conversation. Advantageously, mobile applications use the above approach to achieve enterprise security that is safer and easier to manage. This approach also enables VoIP vendors to extend their mobility solutions to different enterprise applications. Features and advantages of the present invention will become more apparent from the following description and discussion. Figure 20 is a diagram showing an example of a conventional technique in which the respective applications on the mobile phone are individually connected to the corresponding application server in the enterprise. The mobile phone 2 000 may include a plurality of application users including Divitas User 2002, CRM (Customer Relationship Management) application user 2 0 0 6 , and mail application user 2 0 0 8, but not limited thereto. . Application users can interact with each other independently or through the Application Agreement Interface (API). In one example, application users 2006 and 2008 can interact with Divitas User 2002 via API 2010 and API 2012, respectively. Application users in Mobile Phone 2000 can interact with application servers within Enterprise 2090. The enterprise 2090 can include a plurality of application servers. The plurality of application servers include a Divitas server 2022, a CRM application server 2026, and a mail application server 202, but are not limited thereto. The application server can interact with each other independently or through the API. In one example, application servers 2026 and 2028 can interact with Divitas server 2022 via API 2030 and API 2032, respectively. It should be noted that the purpose of the API is to enable applications to interact with each other. However, because the applications are independent of each other, the interaction through the API is arbitrary. Assume that a stockbroker on mobile phone 2000 can communicate with its users via Divitas User 2 002. Despite talking to their users, stock brokers want to get their users' portfolios at their fingertips. In this case, the stockbroker must establish two different conversations. Stockbrokers can establish a first conversation to enable them to talk to their users through Divitas User 2002. To mention the portfolio, the stockbroker can establish a second conversation by utilizing the CRM application user 2006 to interact with the CRM application server 2026 under the firewall 2040 within the enterprise 2090. In a typical Secure Sockets Layer (SSL) virtual private network (VPN) environment, network managers must establish different configurations for each established channel. In order to establish two different conversations, two separate security channels must be established. In one example, a new mail application user has been added to the phone. In order to communicate with the mail application server located in the corporate firewall, the network administrator must establish a new secure channel. Thus, in a typical SSL VPN environment, the user must establish multiple sessions, which require multiple start communication commands and make the enterprise more vulnerable to security risks. The SSL VPN environment is not only inconvenient for the user, but also requires more types of this environment. More human resources to manage the security of the corporate network environment. In order to minimize the number of secure channels established, the Internet can be replaced by the Internet-83-200814679 Protocol (IP) Security Gateway. In an IP-secured VPN environment, one or more application users on the handset can interact with the application server through a secure channel across the IP security user 2014 and the IP security gateway 2030. In order to establish a secure channel, the user must first provide authentication information (eg, username, password, etc.). Once a secure channel has been established, the user is also responsible for the certification each time a different application user is utilized. In other words, each application user can be configured to communicate with its corresponding application server via a different IP address. In one example, the CRM application user 2006 wants to interact with the application server 2026. If Secure Channel 2084 has not been established, the user must first provide authentication information. Once the secure channel 2084 has been established, in order for the CRM application user 2006 to interact with the CRM application server 2026, the user must provide additional authentication material. In addition, new secure channels and re-authentication must occur each time the session is interrupted. In an example, if the user is moving during the conversation, if the connection is not visible, the user is at risk of a sudden interruption from the conversation. For example, users connected via a Wi-Fi network will traverse the Wi-Fi network. The conversation will be interrupted and the user must establish another conversation, such as a cellular connection. As a result, the user is disturbed by the inconvenience of establishing a new conversation and is also frustrated by limited mobility. Providing conventional techniques Figure 2 1 illustrates how an application user interacts with an application server. Figure 21 is a flow diagram of a prior art process for enabling an application user to communicate with an application server in an IP Secure VPN environment. Figure 21 discusses Figure 20. -84- 200814679 Assume that the user of the mobile phone 2000 wants to use the mail application user 2008 to send an email. In a first step 2102, the email material traffic is sent to the application server. In one example, the mail application user 2008 can send an email message packet to the mail application server 2028 within the enterprise. In the next step 2104, the electronic data stream is received by an IP Security Client 2014 that can check to determine how to route traffic. In other words, IP Security User 2014 can analyze individual packets to determine if the packet is a packet that Enterprise 2090 wants. The IP Security User 2014 can identify the recipient of the packet by analyzing the IP address and the 埠 number located in the packet. If the recipient of the email data traffic is not one of the plurality of application servers in the enterprise 2090, then in the next step 2106, the IP security user 2014 may discard the traffic or direct the email traffic to the server that is not in the enterprise 2090. Device. How to handle email traffic that is not the application server within enterprise 2090 depends on how IP security users are configured to handle non-enterprise data traffic. If IP Security User 2014 determines that the data traffic is what the application server in Enterprise 2090 wants, then in the next step 2 1 0 8 , IP Security User 2014 can encrypt each data packet before forwarding the data packet. . Encrypting the processing of individual data packets requires that the mobile phone 2000 have sufficient CPU processing power. In addition, the requirement to encrypt individual data packets in an ip-secured VPN environment can create potential problems in the case of voice communications, such as VoIP (v〇ΙΡ) communication conversations. In other words, the speech quality during a voice communication session is severely degraded, resulting in poor voice communication experience (eg, echoes in the background, inaudible conversations, etc.). In the next step 2110, the IP Security Client 2014 can send the encrypted traffic along the secure channel 2084 to the desired application server. As mentioned above, the secure channel must establish a secure channel each time a new application is utilized. In one example, IP Security User 2 0 1 4 can send encrypted traffic to Enterprise 2090's IP Security Gateway 2030 via Network 2 0 50 and Firewall 2 0 4 0. In the next step 21 12, the IP security gateway 203 0 performs a check to determine how to route traffic. Similar to IP Security User 2014, IP Security Gateway 203 0 analyzes each packet to determine if the packet is what Enterprise 2090 wants. If the received data packet is occasionally not an encrypted IP security packet, then in a next step 2114, the IP security gateway 2030 discards the packet. If the data packet is an encrypted IP security packet, then in a next step 21 16 the IP security gateway 2030 may decrypt the traffic. Once the packet has been unsealed, the IP Security Gateway 203 0 analyzes the packet to identify the IP address and port number of the received application server. In the next step 21 1 8 'IP security gateway 203 0 forwards the data packet to the appropriate application server (eg, mail application server 2 0 2 8). The method described in step 2 1 02 to 2 1 1 8 is continuous processing and is performed for each packet received by the application user. There are several disadvantages to the prior art. In one example, each new application user of the phone added to the -86-200814679 user must be configured differently. When adding new application users, the management of various application users and their corresponding application servers leads to a more complex relationship-building network environment, which is costly to maintain. Furthermore, the user must be responsible for performing multiple authentications. This requires the user to remember the plural authentication information. In addition, the benefits of operating within an IP-secured VPN environment are reduced due to the need to encrypt data traffic, resulting in increased hardware costs (eg, the handset must have sufficient CPU processing power) and increased potential. In addition, the user will be frustrated by the limited mobility provided, and each time the conversation is interrupted, the user must re-establish the connection and re-authenticate. In one aspect of the present invention, the inventors herein implement a prior art architecture configuration that integrates multiple authentications and/or multiple secure channels to create an environment in which a single communication command is initiated. In other words, the inventors have realized that data traffic from multiple applications can be transmitted by grouping applications into a single application (eg, Divitas user) and a single server (eg, Divitas server) to direct their data traffic. A single secure channel is sent without requiring the user to perform multiple authentications. In addition, the loss of dialogue can be significantly reduced without sacrificing mobility. In accordance with an embodiment of the present invention, a mobile architecture configuration is provided by implementing a Divitas Protocol Proxy Servant (DPP). In an embodiment, the DPP includes a user D P P and a server D P P . In an embodiment of the invention, the handset may include an active user (eg, a Divitas user, which may include a user DPP to manage connectivity between the handset and the mobile server (eg, Divitas server) In an embodiment of the invention, the mobility server may include a server DPP to manage connectivity between the mobility server and the handset. In an embodiment of the invention, the user and server DPP may include a plurality of sub-users. /Server DPP to manage different protocol types (eg, SIP, SMTP, etc.) In an embodiment of the invention, DPP can create a single secure channel from each application user interacting with its corresponding application server. The program is routing its data traffic via a common DPP, so DPP can now manage connectivity between mobile phones and mobile servers. Connectivity information can include establishing mobile and mobile servers through control protocols such as SIP (Dialog Initiation Protocol). A secure channel between. Connectivity information can be used to determine when and how to connect the phone. In addition, connectivity information can also include Perform communication from one network to another (eg, from a Wi-Fi network to a cellular network) so that it can seamlessly change between different networks. Refer to the following diagram and discussion for more information. The features and advantages of the present invention are apparent. Figure 22 is a simplified block diagram of a mobile architecture configuration in an embodiment of the present invention. In the mobile architecture configuration 2200, the mobile phone 2202 and the D ivitas server 2 in the enterprise 2 2 16 2 1 8 (eg, mobile server) interaction. Mobile 2 2 2 2 may include D ivitas users 2 2 0 4 (eg, mobile users) and plural application users (2206 and 2208). Implementation in the present invention In the example, the Divitas user 2204 can include the user DPP to manage the connectivity between the mobile phone and the mobile server. Unlike the prior art, the application user 2206 and the application-88-200814679 user 2208 are not directly configured. Interacting with their corresponding application servers (2220 and 2222). In one embodiment, the various configurations for each application user can be simplified to direct all data traffic to Divitas. The single area IP host 22 10 associated with the subscriber 2204 (eg, 127. 0. 0·1 IP address). In other words, data traffic from application users 2206 and 220 8 can now be configured to be routed to DiWtas User 2204 via APIs 2212 and 2214. From Divitas user 2204, all data traffic can then be routed through the network 2224 (e.g., the Internet) via the intranet 2216 Divitas server 2218. In an embodiment of the invention, the Divitas server 2218 may include a server DPP to manage connectivity between the handset and the mobile server. Once the D i v i t a s server 2 2 1 8 has received the data traffic, the D i v i t a s server 2218 can properly route traffic to the corresponding application servers (2220 and 2222) via APIs (223 2 and 2234). Assume that the user of the handset 2202 wants to send an email by utilizing the application user 2 206. Since the application user 2206 has been configured to send all data traffic to the zone to host 22 1 0, the data traffic from the application user 2206 is sent via the API 2212 to the zone IP host 2210 associated with the Divitas user 22 04. When receiving traffic from application user 2206, Divitas User 2204 can use Divitas Data Exchange (DDX) to encapsulate traffic within the SIP Notify Message. As discussed herein, DDX refers to a protocol used to transfer data packets between a handset and a server. When encapsulating a data packet, DDX adds a new tag that adds information about the application user who sent the data traffic 89-200814679. Unlike conventional techniques, all data packets are not encrypted. Instead, the data packet is encrypted depending on the preferences specified by the application user. In an embodiment of the invention, the newly added DDX is encrypted. Once the data packet has been encapsulated within the SIP Notify Message, the encapsulated data packet is now forwarded to the Divitas server 221 8 along the security channel 2250 including the traversal network 2 2 2 4 . It should be noted that if the enterprise is protected by one or more security modules (eg, firewall 222 6), the data packet must also traverse one or more security modules. Once the data packet has been received by the Divitas server 2218, the Divitas server 2218 can utilize the DDX tag to retrieve the location of the application server. In an example, the DDX tag can include an identification number (eg, MAC address, 埠 address) that indicates which application server (eg, application server 22 20) in the enterprise is the desired data packet. Receiver. In an embodiment, the mobility architecture configuration manages connectivity between the handset and the mobile server. In an embodiment, the mobile architecture configuration may utilize control protocols utilized by general handsets such as SIP. In a mobile architecture configuration, in order to establish a secure channel, the user must only perform a manual authentication. In other words, once a secure channel has been established between the mobile phone and the mobile server, there is no need to establish another security every time the application user (2206 and 2208) wants to interact with the application server (2220 and 2222). aisle. In an embodiment, the mobile architecture configuration may also include a database, and the -90-200814679 database includes authentication materials for each application user. Thus, each time a different application user is utilized, in one embodiment, the mobility architecture configuration can utilize the application specific credentials stored in the database to automatically authenticate the user. From the user's point of view, the mobility architecture configuration is essentially a single start communication command environment. Advantageously, the 'actual architecture configuration' generally makes time and effort efficient, and network managers must spend on assembling individual application users. Network administrators can largely eliminate this process by assembling individual application users to interact with the regional host, instead of adding a new application each time a user has to establish a new secure channel to the phone. In addition, with a single start communication command, network managers can substantially reduce the time and cost associated with managing security. The mobile architecture configuration can be implemented as a rich or weak user. Figure 23 is a block diagram showing the configuration of an active architecture as a rich user in an embodiment of the present invention. As discussed in this article, rich users mean that user DPP and server DPP not only manage a variety of different applications but also provide support to at least one or more application user functions (eg, voice application users, instant messaging application users). , mobile application configuration, etc.). Assume, for example, that the user of the mobile phone 23 02 wants to retrieve the mail application server 23 26 (eg, Micro so ft® Exchange server, etc.) from the enterprise 2318 by using the mail application user 2310 (eg, Microsoft® Outlook, etc.). ) The situation of the email. Figure 24 - and Figure 23 will be discussed. Figure 24 is a simplified flow diagram of an example of a method for utilizing an active architecture configuration in the embodiment of the present invention. In a first step 2402, the application user sends data traffic to the regional host of the Divitas user. In the mobile architecture configuration, the application user 2310 has been configured to route its data traffic via the regional host 2300 in the Divitas user 2304. In one example, the application user 2310 can send an SMTP (Simple Mail Transfer Protocol) data packet 2312 to the Divitas User 2304 over TCP-IP. The SMTP data packet 23 1 2 can be received by the SMTP proxy user 2306 (e.g., sub-user DPP) located in the Divitas user 2304. In an embodiment, the user DPP may include a plurality of sub-user DPPs. The type of proxy user used to process data traffic depends on the type of application user. In an embodiment of the invention, the data packet includes a UI number unique to the application user. In one example, the SMTP data packet 2312 includes the following information 1 . 0. 0. 1 / 25. In this case, the number 127. 0. 0. 1 is the IP address unique to the regional host 2 3 0 8 , and the number 25 indicates the 埠 number associated with the SMTP proxy user 23 06 in this example. In the next step 2404, the data traffic can be encapsulated as a SIP Notify Message with a DDX tag. In other words, when receiving the data packet 2312, the Divitas user 2304 reformats the SMTP data packet 2330 into a SIP data packet 2330 (such as SIP Notify Message, etc.) that can be transmitted via a control protocol such as a SIP mobile phone. In an embodiment of the invention, the SIP data packet 23 30 includes a source data packet (e.g., data packet 2 3 1 2) having a DDX header 23 3 0a and a SIP header 23 3 0b. As mentioned above, the D D X header includes an application server-specific special-92-200814679 with an identification number. In an embodiment of the invention, a unique identification number can be generated based on the 埠 number included in the SMTP data packet. In an embodiment of the invention, additional indicia may be included in the formatted data packet to identify how the formatted data packet is to be transported. In an example, the transport agreement label 23 3 0c may be a UDP-IP transport token. In an embodiment of the invention, one or more portions of the SIP data packet 23 30 may be encrypted. In one embodiment, the DDX portion is encrypted even if the remainder of the data packet is not encrypted. In the next step 2406, the Divitas user can send a data packet to the Divitas server. Once the data packet 2312 has been reformatted into a SIP data packet 23 3 0 (eg, encapsulated as a SIP Notify Message), it can pass through the secure channel 23 50 via the network 23 14 and/or the firewall 23 16 Send SIP data packet 23 3 0 to Di vitas server 23 20. In the next step 2408, the Di vitas server can check to determine if the incoming data packet is a SIP Notify Message. If the incoming data packet is not SIPNotifyMessage, then in the next step 2410, the data packet may be discarded. However, if the incoming data packet is a SIP Notify Message, then in a next step 2412, the Divitas server can check the expected proxy server by checking the DDX flag. In one embodiment, the Divitas server must decrypt the DDX packet to read the information stored in the DDX packet. In one example, based on the unique identification number in the DDX tag, the Divitas server 2320 knows the routing data packet 2330 to the SMTP generation -93-200814679 server 2322. In an embodiment of the invention, the server DPP may comprise a plurality of sub-servers DPP. In an embodiment of the invention, the type of proxy server that handles incoming traffic is a type of data traffic. In the next step 24 1 4, the data packet can be routed to the proxy server. Since the SIP data packet 23300 is an SMTP data packet, the formatted data packet (e.g., sub-server D P P) is processed by the SMTP proxy server 23 22 located inside the Divitas server 2320. In the next step 2416, the data packet is routed to the intended application server. In an embodiment of the invention, the SMTP proxy server 23 22 can convert the SIP data packet 23 30 into a format acceptable to the application server. In one example, the SIP data packet 23 3 0 can be converted from a SIP Notify Message to an SMTP data packet 23 2 8 . In addition, the DDX part can be discarded. In addition, the transport protocol can be changed from UDP-IP to TCP-IP, which is more conducive to deploying email data traffic to the respective application server via API 23 3 2 (eg, mail application server 2326). The illustrated method steps do not illustrate the encryption and/or decryption of the data packet. In an embodiment, the data packet can be sent without encryption. The requirements for encryption are arbitrary and can be determined by the user's requirements. In an embodiment, some or all of the data packets may be encrypted. In one embodiment, the DDX portion may be encrypted while leaving the remainder of the data packet unencrypted. Undesired encryption reduces the processing power to be utilized and reduces the underlying factors typically associated with encrypted data packets. As can be seen from Figures 23 and 24, in general, the rich mobility architecture configuration can be used as an mobility manager that enables mobile phone application users to interact with the application server in a single communication command environment. In addition, a rich mobility architecture configuration can include data packets from various applications to be converted into data packets that can be transported by control protocols and transport protocols specific to established secure channels. In an embodiment of the invention, as shown in Figure 25, the mobility architecture configuration can be implemented as a weak user. In a weakly mobile architecture configuration, the user DPP and the server DPP can only be utilized as an mobility manager (e.g., to manage application connectivity) and not to provide support to at least one or more application functions. Assume, for example, that a user of the mobile phone 25 00 wants to call a friend. Users can make calls using the phone application user 25 08 (eg, VoIP, etc.). It is assumed in this example that a secure channel 2550 has been established between the DiWtas user 2502 and the Divitas server 2518 located within the enterprise 2530. To establish a telecommunications conversation, the telephony application user 25 08 can send a data packet 2512 (e.g., SIP/UD-IP) to the regional host 2510 within the Divitas user 2502. As noted above, multiple proxy users can reside within the Divitas user 2502 to support a variety of different application users. In one example, SIP proxy user 2504 can be located within Divitas user 2502 to process data packets from telephony application user 2508. Upon receiving the data packet 2512, the SIP proxy user 25 04 can analyze the data packet to determine how to route the packet. As mentioned above, the data packets that can be sent to Divitas users can include the application server-specific 埠 number (eg, 5060, etc.). Using this information, Divitas user 2502 can route data packet 2512 to Divitas server 25 1 8 via network 2514 and firewall 2528 via -95-200814679. In one embodiment, if the data packet is already in a format routable by the Divitas user, then the data packet does not have to be converted. In one example, data packet 2512 is shown in the SIP/UDP-IP format, which is the format that Divitas User 25 02 can use to route its data traffic. In an embodiment, the plurality of proxy servers can reside within the Divitas server. In an example, SIP proxy server 25 32 can reside within Divitas server 25 18 to manage the incoming traffic from the phone application user 2508. Since the data packet 25 12 has been sent from the phone application user 2 5 0, the data packet is processed by the SIP proxy server 25 3 2 . When receiving the data packet 2512, the SIP proxy server 25 32 can forward the data packet 25 1 2 to the destination telecommunications device (e.g., telephone) via the telephone gateway 2520 (e.g., PSTN, GSM, CDMA, etc.) along path 2522. Wait). Once a telecommunications conversation has been established between the handset 25 00 and the destination telecommunications device, other data packets 25 3 0 (eg, RTP data packets, etc.) sent by the telephony application user may follow the path via the secure channel 2 5 5 0 The 2560 is sent to the Divitas server 2518 without having to go through the Divitas user 2502. In a weakly mobile architecture configuration, the purpose of establishing a telecommunications conversation with the help of Divitas users is to enable application users to take advantage of the mobility features of Divitas users. In other words, a control center has been established between the Divitas user and the Divitas server to monitor the connectivity of the application user. By establishing this relationship, when the situation occurs, Divitas users and Divitas servers can share their connectivity status and be able to handle roaming seamlessly. -96- 200814679 In the example, the users in the above case are currently connected via a Wi-Fi network. During a telephone conversation, the user can roam outside the Wi-Fi network. In the prior art, the connection may be interrupted and the user must redial. However, in a mobile architecture configuration, the connectivity status of the user's handset has been monitored, and Divitas users and Divitas servers can perform seamless network exchanges (eg, from Wi-) without the user being aware of the changes. Fi to the cellular network). Advantageously, companies that have invested a large amount of money into multiple applications and only need an mobility manager can implement a weakly mobile architecture configuration. In this way, organizations can leverage the mobility manager-configured mobility manager performance without having to re-engineer their telecommunications infrastructure. As can be appreciated from the embodiments of the present invention, an active architecture configuration with DPP provides an mobility manager that enables a smooth telecommunications infrastructure. In other words, the mobile architecture configuration provides an environment for a single start of communication commands. In the example, a single secure channel can be used to achieve the same function to replace multiple secure channels of the enterprise. With an environment that starts with a single communication command, the cost and effort of managing a telecommunications infrastructure can be greatly reduced. In addition, the mobile architecture configuration can monitor and seamlessly handle connectivity without negatively impacting the user's telecommunications experience. F. The present invention has been described with reference to a few preferred embodiments, and modifications, alterations, and equivalents are possible within the scope of the invention. It should also be noted that there are many other ways of implementing the methods and apparatus of the present invention. Moreover, the utility of embodiments of the present invention can be found in other applications. For convenience, -97- 200814679 This article provides abstract commemoration, which is limited to the convenience of reading and is not intended to limit the scope of patent application. Therefore, the scope of the following appendices should be construed to include all such modifications, alterations, and equivalents in the true spirit and scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is illustrated by way of example only, and not by way of limitation Network map. 2A-C are diagrams of actuating servos in accordance with one or more embodiments of the present invention. 3 is a mobile device user diagram in accordance with one or more embodiments of the present invention. 4 is a block diagram of a return canceller based on encoding/decoding benefits, in accordance with one or more embodiments of the present invention. Figure 5A is a diagram of a speech jitter buffer in accordance with one or more embodiments of the present invention. Figure 5B is a diagram of a speech hopping buffer in accordance with one or more embodiments of the present invention. Figure 6A is a schematic diagram of a DDP architecture in accordance with one or more embodiments of the present invention. Figure 6B is a diagram of a DDP message exchange in accordance with one or more embodiments of the present invention. Figure 7A is a diagram of a network architecture for each host including two network interfaces and fabricated in accordance with one of the embodiments of the present invention. Figure 7B is a diagram of a network architecture made in accordance with one or more embodiments of the present invention. Figure 7C is a diagram of a network architecture made in accordance with one or more embodiments of the present invention. Figure 7D is a diagram of a network architecture made in accordance with one or more embodiments of the present invention. Figure 8A is a block diagram of an exemplary prior art communication device including an echo cancellation filter. Figure 8B is a flow diagram of an exemplary conventional technique communication device for use in, for example, the exemplary prior art communication device illustrated in Figure 8A. Figure 9A is a block diagram of a communication device (or system or configuration) that cancels echoes without relying on a filter, in accordance with one or more embodiments of the present invention. Figure 9B is a block diagram of an ID code generator for the communication device (or system or configuration) of Figure 9A, in accordance with one or more embodiments of the present invention. Figure 9C is a flow diagram of a method for canceling echoes, such as the communication device (or system or configuration) of Figure 9A, in accordance with one or more embodiments of the present invention. Figure 10A is a block diagram of a first exemplary prior art packet voice communication system (first prior art configuration) with an adaptive jitter buffering scheme. Figure 10B is a flow diagram of transmitter side processing for a conventional technique bounce buffering scheme for the first prior art configuration shown in the example of Figure a. -99- 200814679 Figure 1 0C is a flow chart of a conventional technique delay calculation process. Figure 10D is a flow chart of a conventional technology packet implementation control process. Fig. 10E is a schematic diagram showing the flow of the received packet in the packet implementation control when the transmitter side voice activity detector (VAD) is turned on. Fig. 10F is a schematic diagram showing the flow of the received packet in the packet implementation control when the VAD on the transmitter side is turned off. Figure 1 A is a block diagram of a receiver side device of a second conventional technique packet voice communication system (second prior art configuration) including adaptive buffer overflow control. Fig. 1 1 B is a flow chart for the silent detection processing of the receiver side device shown in the example of Fig. 1 1 A. Fig. 1 1 C is a flowchart of a buffer overflow control process for the receiver side device shown in the example of Fig. 11A. Figure 1 2A is a block diagram of a receiver side device having an adaptive jitter processing packet voice communication system in accordance with one or more embodiments of the present invention. Fig. 1 2B is a diagram of a delay insertion control process utilized for the adaptive jitter processing of the receiving side device shown in the example of Fig. 1 2 A according to one or more embodiments of the present invention. Figure 13 is a block diagram of a receiver side device of a packet voice communication system with adaptive jitter processing in accordance with one or more embodiments of the present invention. Figure 14 is a diagram showing an example of a conventional technique for establishing a connection between an application user and an application server. Figure 15 is a simplified block diagram of the DDP invention of the embodiment of the present invention. Figure 1A is a diagram showing an example of how the information in the mobile architecture with DDP in the embodiment flows between the application user located in the user device and the application server managed by the enterprise. Figure 16B is a diagram showing an example of a code of a encapsulated SIP notification message in the embodiment. Figure 17 is a diagram of an example of a telephone flow illustrating how to establish a secure channel between a user device and a mobile server in an embodiment. Figure 18 is a simplified telephone flow diagram showing the case where a large file must be transmitted in the embodiment. Figure 19 is a simplified telephone flow diagram illustrating the manner in which small control messages, such as those sent by a control application, can be sent in an embodiment of the present invention. Figure 20 is a diagram showing an example of a conventional technique for individually connecting individual applications on a mobile phone to a corresponding application server within the enterprise. 21 is a flow diagram of a prior art technique for enabling an application user to communicate with an application server in an IP secure VPN environment. Figure 22 is a simplified block diagram showing the configuration of an active architecture in an embodiment of the present invention. Figure 23 is a block diagram showing the configuration of the mobile architecture in the embodiment of the present invention as a heavy load client. Figure 24 is a simplified flow diagram of an example of a method of utilizing an active architecture configuration in an embodiment of the present invention. Figure 25 is a diagram of a mobile architecture configuration implemented as a lightly loaded client in an embodiment of the present invention. -101 - 200814679 [Explanation of main component symbols] 1 〇〇: System network 102: Mobile equipment 1 1 〇: Honeycomb network 1 1 2: Base transceiver station 1 1 4 · BTS switching center 1 1 6 : Action exchange Center 120: Media Gateway 122: Public Switched Telephone Network 1 2 4: Conventional Public and Private Telephone 1 3 0: Private Branch Switch 1 3 2: Router 1 3 6: Telephone 1 3 7: Telephone 1 3 8: Internet Protocol WAN 1 4 0: Router 1 4 2: Firewall 1 4 4: Internet 1 5 0: Mobility Server 1 6 0: Access Point 1 8 0: Access Point 800: Conventional Technology Communication device 802: signal receiver 806: speaker-102- 200814679 8 0 8 : echo path 810: microphone 8 1 2 : buffer 8 1 4 : filter 8 1 4 : echo canceller 8 1 6 : sum function 9 0 0: communication device 904: signal receiver 906: background noise remover 90 8 : echo path 9 1 0 : identification code injector 914: speaker 916: microphone 922: identification code generator 924: identification code detector 926: Buffer 928: delayer 93 0 : sum function 93 2 : signal transmitter 1 速度: speed buffer 1001 = language Activity detector 1 0 0 2 : Transmitter 1 0 0 3 : Network 1 004 : Packet buffer -103- 200814679 1 0 0 5 : Packet implementation controller 1006: Delayed insertion controller 1 007 : Delay information module 1 〇〇8: Bounce computer 1 009: Implement delay computer 1 0 8 0: Voice packet 1080a: Packet 1 〇 8 2: Silent descriptor 1 〇 8 4: Silent 1 0 8 6 : Voice packet 1086a: Packet 1 0 8 8 : Silent 1 090 : Silent Descriptor 1091 : Transmitter Side Device 1 092 : Receiver Side Device 1 092a : Voice Packet 1 〇 9 4 : Silent Packet 1 0 9 6 : Voice Packet 1 09 8 : Silent Packet 1100 : Receive Device side device 1102: packet buffer 1 104: packet implementation controller 1 1 0 8 : delay insertion controller 1 η 〇: jitter computer -104 - 200814679 1 1 1 4 : buffer overflow controller 1 η 6 : silent Detector 1 1 1 8 : Decoder 1 1 8 0 : Add-on 1 1 9 9 : Link 1 200 : Receiver side device 1 2 0 2 : Packet buffer 1 204 : Bounce computer 1 206 : Implement delay computer 1 2 0 8 : Packet implementation controller 1 2 1 0 : Decoder 1 2 1 2 : Silent detector 1 2 1 4 : Delayed insertion control 1 2 1 6 : Delay information module 1 2 9 9 : Link 1 3 00 : Receiving side device 1 3 02 : Packet buffer 1 3 04 : Bounce computer 1 3 06 : Compensating computer 1 3 0 8 : Packet implementation control 1 1 1 1 : decoder 1 3 1 2 : video detector 1 3 1 4 : compensation controller 1 3 1 6 : link compensation information module 105 200814679 1 3 9 9 : link 1 402 : application Server 1 404: Application User 1 406: Software Download 1424: Notification 1 5 02 : Planning Management Application 1 5 04 : Device Management Application 1 5 06 : Voice Mobility Control Application User 1 5 0 8 : Voice Mail/Email Transfer Application 1 5 1 0 : Device Image Management Application 1 5 1 2 : Instant Messaging Application 1 5 1 4 : David Data Exchange Module 1 5 1 6 : Reliable David describes the protocol module Group 1 5 1 8 : Priority Message Scheduling Module 1 5 2 0 : Built-in Dialogue Management Module 1 5 22: Davista Description Protocol Module with Security Extension 1 524: Control Protocol 1 5 2 6 : Transmission Control Protocol 1 5 2 8 : User Data Meta-Contract 1 5 3 0 : Transmission Control Protocol 1 5 3 2: Dialogue Startup Agreement 1 5 3 4: Use Data Element Agreement 1 5 3 6 : David describes the agreement 1 602 : Voice Mail User -106- 200814679 1 604 : Voice Mail Server 1 60 8 : Server David Data Exchange Module 1 6 1 4 : Server Reliable David describes the protocol module 1 6 1 6: Server David describes the protocol 1 62 0: Server Session Initiation Protocol Control Agreement 1 622: Server User Data Meta-Contract Transfer Protocol 1624: Network 1 626: User User Data Meta-Contract Transfer Agreement 1 62 8: User Dialogue Startup Protocol Control Agreement 1 6 3 2: User David describes the agreement 1 63 4: User Reliable David describes the agreement 1 63 6: User David Data Exchange Module 1 6 5 0 : Path 1652 : Path 1 700 : Enterprise Server 1 702 : User Device 1 704 : User / Device Manager 1 706 : Davida Description Protocol 1 7 〇 8 : Decentralized Data Processing System 1 7 1 0 : Dialogue initiation agreement 1 7 1 2 : User data element agreement 1 7 1 4 : User data element agreement 1 7 1 6 : Dialogue initiation agreement 1 7 1 8 : Decentralized data processing system -107- 200814679 1 720: David describes the agreement 1 722: application user 1 802 : Image Manager 1 804 : Device / User Manager 1 8 0 6 : Server Davis Data Exchange Module 1 8 0 8 : Server David describes the agreement 1 8 1 0 : User David describes the agreement 1 8 1 2 : User Davis Data Exchange Module 1 8 1 4 : Application User 1 8 1 6 : Request 1 902 : Server Attendance Manager 1 904 : Device/User Manager 1 906 : Server Wear Vita Description Agreement 1908. User Davide describes Coordination 1910: User Attendance Manager 1 9 2 0: Attendance Enquiry 2 0 0 0: Mobile 2002: David He User 2006: Customer Relationship Management Application User 200 8: Mail Application User 2010: Application Agreement Interface 2012: Application Agreement Interface 2014: Internet Protocol Security User 2022: David Server-108- 200814679 2 026: Customer Relationship Management Application User 202 8: Mail Application Servo 203 0 : Internet Protocol Security Gateway 203 0 : Application Protocol Interface 203 2 : Application Protocol Interface 2040 : Firewall 2 0 5 0 : Network 2084 : Security Channel 2090 : Enterprise 2200 : Mobile Architecture Configuration 2 2 0 2 : Mobile 2 204: David User 2206: Application User 220 8: Application User 2210: Regional Internet Protocol Host 2212: Application Agreement Interface 2214: Application Agreement Interface 2216: Enterprise 2218: David Server 2220: Application Program Server 2222: Application Server 2224: Network 2226: Firewall 223 2: Application Protocol Interface -109- 200814679 223 4: Application Protocol Interface 225 0: Secure Channel 2 3 0 2: Mobile 23 04: David He User 23 06: Simple Mail Transfer Protocol Proxy User 2 3 0 8 : Zone Host 2310: Mail App User 23 12: Simple Mail Transfer Protocol Data Packet 2 3 1 4: Network 2 3 1 6: Firewall 2318: Enterprise 23 2 0 : David Server 23 22 : Simple Mail Transfer Protocol Proxy Server 23 26 : Mail Application Server 23 2 8 : Simple Mail Transfer Protocol Data Packet 23 3 0 : Dialogue Start Protocol Data Packet 23 3 0a : Wear Vita data exchange header 23 3 0b: dialog initiation protocol header 23 3 0c: transport agreement mark 23 3 2 : application protocol interface 23 5 0 : secure channel 2 5 0 0 : cell phone 25 02 : Vita User 25 04: Dialogue Startup Protocol Agent User-110- 200814679 25 0 8: Phone App User 2 5 1 0: Zone Host 2512: Data Packet 2 5 1 4: Network 2518: David Server 2520: Telephone Gateway 2522: Path 25 2 8: Firewall 2530: Enterprise 25 3 2: Session Initiation Protocol Proxy Server 25 5 0: Secure Channel 2 5 5 2: Application Protocol Interface 2560: Path 25 62: Immediate Agreement X: Signal y ': signal y 1 : signal Z: signal -111 -

Claims (1)

200814679 十、申請專利範圍 1· 一種消除信號之裝置,包含: 辨識碼(ID碼)產生器,被組配成產生id碼; ID碼注入器,被組配成將該id碼注入到該信號和經 處理信號的至少一者以產生迴旋信號,該經處理信號係由 該信號的處理所產生; ID碼偵測器,被組配成偵測該迴旋信號、變換信 號、和該迴旋信號之變換的至少一者,該變換信號係由該 迴旋信號的該變換所產生;及 算術函數’被組配成去除該迴旋信號和該變換信號的 至少一者。 2·根據申請專利範圍第1項之裝置,其中該id碼包 括虛擬隨機雜訊信號。 3 ·根據申請專利範圍第1項之裝置,其中該ID碼包 括人類耳朵無法察覺到的信號。 4·根據申請專利範圍第1項之裝置,另外包含雜訊 去除器,其被組配成從該信號去除背景雜訊以產生該經處 理信號,其中該信號的該處理係由該雜訊去除器所執行。 5. 根據申請專利範圍第1項之裝置,另外包含變換 模組,其被組配成根據該ID碼偵測器所偵測到的該迴旋 信號之該變換,將該迴旋信號的複本變換成該變換信號的 複本。 6. 根據申請專利範圍第5項之裝置,其中該變換模 組包括延遲函數,及該迴旋信號的該變換包括該迴旋信號 -112- 200814679 的延遲。 7 ·根據申請專利範圍第5項之裝置,其中該算術函 數被組配成從包括該變換信號的組合信號減掉該變換信號 的該複本。 8 ·根據申請專利範圍第7項之裝置,其中該信號表 示從通訊配置中的遠方所接收到之遠端信號,及該組合信 號另外包括從該通訊配置中的本地內麥克風所接收到的近 端信號。 9. 一種通訊系統,包含: 辨識碼(ID碼)產生器,被組配成產生Π)碼; ID碼注入器,被組配成將該ID碼注入到該信號和經 處理信號的至少一者以產生迴旋信號,該經處理信號係由 該信號的處理所產生; ID碼偵測器,被組配成偵測該迴旋信號、變換信 號、和該迴旋信號之變換的至少一者,該變換信號係由該 迴旋信號的該變換所產生;及 算術函數,被組配成去除該迴旋信號和該變換信號的 至少一者。 1 〇·根據申請專利範圍第9項之通訊系統,其中該 ID碼包括虛擬隨機雜訊信號和人類耳朵無法察覺到之信 號的至少一者。 11·根據申請專利範圍第9項之通訊系統,另外包含 雜訊去除器,其被組配成從該信號去除背景雜訊以產生該 經處理信號,其中該信號的該處理係由該雜訊去除器所執 -113- 200814679 行。 12. 根據申請專利範圍第9項之通訊系統’另外包含 變換模組,其被組配成根據該ID碼偵測器所偵測到的該 迴旋信號之該變換,將該迴旋信號的複本變換成該變換信 號的複本。 13. 根據申請專利範圍第12項之通訊系統,其中該 變換模組包括延遲函數,及該迴旋信號的該變換包括該迴 旋信號的延遲。 14. 根據申請專利範圍第12項之通訊系統’其中該 算術函數被組配成從包括該變換信號的組合信號減掉該變 換信號的該複本。 1 5 .根據申請專利範圍第1 4項之通訊系統’其中該 信號表示從該通訊系統中的遠方所接到收之遠端信號,及 該組合信號另外包括從該通訊系統中的本地麥克風所接收 到的近端信號。 16.根據申請專利範圍第9項之通訊系統’其中將該 ID碼產生器、該ID碼注入器、和該ID碼偵測器的至少 一者實施在使用者裝置中,該使用者裝置表不電話、行動 電話、和電訊會議裝置的至少一者。 1 7.根據申請專利範圍第9項之通訊系統,其中將該 ID碼產生器、該ID碼注入器、和該ID碼偵測器的至少 一者包括在被下載到使用者裝置的軟體中° 18.根據申請專利範圍第9項之通訊系統,其中將該 ID碼產生器、該ID碼注入器、和該ID碼偵測器的至少 114- 200814679 一者實施在通訊網路的伺服器裝置中。 19·根據申請專利範圍第9項之通訊系統,其中將該 ID碼產生器、該ID碼注入器、和該ID碼偵測器的至少 一者包括在被下載到伺服器裝置的軟體中。 20.根據申請專利範圍第9項之通訊系統,其表示使 用者裝置,該使用者裝置表示電話、行動電話、和電訊會 議裝置的至少一者。 21· —種消除信號之方法,包含: 產生辨識碼(ID碼); 將該ID碼注入到該信號和經處理信號的至少一者以 產生迴旋信號,該經處理信號係由該信號的處理所產生; 偵測該迴旋信號、變換信號、和該迴旋信號之變換的 至少一者’該變換信號係由該迴旋信號的該變換所產生; 及 去除該迴旋信號和該變換信號的至少一者。 22·根據申請專利範圍第21項之方法,其中該id碼 包括虛擬隨機雜訊信號和人類耳朵無法察覺到之信號的至 少一者。 23.根據申請專利範圍第21項之方法,另外包含從 該信號去除背景雜訊以產生該經處理信號,其中該信號的 該處理表不該從fe號去除該背景雜訊。 24·根據申請專利範圍第21項之方法,另外包含根 據該迴旋信號之該變換,將該迴旋信號的複本變換成該變 換信號的複本。 -115- 200814679 25·根據申請專利範圍第24項之方法,其中該變換 該迴旋信號的該複本包括將延遲引入該迴旋信號的該複本 中,及該迴旋信號的該變換包括該迴旋信號的延遲。 26.根據申請專利範圍第24項之方法,另外包含從 包括該變換信號的組合信號減掉該變換信號的該複本。 27·根據申請專利範圍第26項之方法,其中該信號 表示從通訊配置中的遠方所接收到之遠端信號,及該組合 信號另外包括從該通訊配置中的本地麥克風所接收到的近 端信號。 2 8.根據申請專利範圍第21項之方法,另外包含在 使用者裝置中實施該產生、該注入、和該偵測的至少一 者,該使用者裝置表示電話、行動電話、和電訊會議裝置 的至少一者。 29.根據申請專利範圍第21項之方法,另外包含將 執行該產生、該注入、和該偵測的至少一者之軟體下載到 使用者裝置。 3 〇 .根據申請專利範圍第21項之方法,另外包含在 通訊網路的伺服器裝置中實施該產生、該注入、和該偵測 的至少一者。 -116-200814679 X. Patent application scope 1. A device for eliminating signals, comprising: an identification code (ID code) generator, which is configured to generate an id code; an ID code injector is configured to inject the id code into the signal And at least one of the processed signals to generate a whirling signal, the processed signal being generated by processing of the signal; an ID code detector configured to detect the whirling signal, the transformed signal, and the whirling signal At least one of the transforms, the transform signal is generated by the transform of the whirling signal; and the arithmetic function 'is configured to remove at least one of the whirling signal and the transform signal. 2. The device of claim 1, wherein the id code comprises a virtual random noise signal. 3. A device according to the first aspect of the patent application, wherein the ID code comprises a signal that is not detectable by the human ear. 4. The device of claim 1, further comprising a noise remover configured to remove background noise from the signal to generate the processed signal, wherein the processing of the signal is removed by the noise Executed by the device. 5. The apparatus of claim 1, further comprising a transform module configured to convert the replica of the whirling signal into a replica of the whirling signal detected by the ID code detector A copy of the transformed signal. 6. The apparatus of claim 5, wherein the transform module comprises a delay function, and the transform of the whirling signal comprises a delay of the whirling signal -112-200814679. 7. The apparatus of claim 5, wherein the arithmetic function is configured to subtract the copy of the transformed signal from a combined signal comprising the transformed signal. 8. The device of claim 7, wherein the signal represents a far-end signal received from a remote location in the communication configuration, and the combined signal additionally includes a near-received local microphone from the communication configuration. End signal. 9. A communication system comprising: an identification code (ID code) generator configured to generate a code); an ID code injector configured to inject the ID code into at least one of the signal and the processed signal Generating a signal to be generated by the processing of the signal; the ID code detector is configured to detect at least one of the gyro signal, the transformed signal, and the transformation of the gyro signal, The transformed signal is generated by the transformation of the whirling signal; and an arithmetic function is configured to remove at least one of the whirling signal and the transformed signal. 1 通讯 A communication system according to claim 9 of the patent application, wherein the ID code comprises at least one of a virtual random noise signal and a signal that is undetectable by a human ear. 11. The communication system according to claim 9 of the patent application, further comprising a noise remover configured to remove background noise from the signal to generate the processed signal, wherein the processing of the signal is by the noise The remover is in operation -113- 200814679. 12. The communication system according to claim 9 of the patent application scope additionally includes a conversion module configured to convert the replica of the convoluted signal according to the transformation of the convoluted signal detected by the ID code detector A copy of the transformed signal. 13. The communication system of claim 12, wherein the transform module includes a delay function, and the transform of the whirling signal comprises a delay of the whirling signal. 14. The communication system according to claim 12, wherein the arithmetic function is configured to subtract the copy of the converted signal from a combined signal comprising the transformed signal. 1 5 . The communication system according to claim 14 of the patent application, wherein the signal represents a remote signal received from a remote location in the communication system, and the combined signal additionally includes a local microphone from the communication system. The received near-end signal. 16. The communication system according to claim 9 wherein at least one of the ID code generator, the ID code injector, and the ID code detector is implemented in a user device, the user device table Not at least one of a telephone, a mobile telephone, and a teleconferencing device. 1. The communication system according to claim 9, wherein at least one of the ID code generator, the ID code injector, and the ID code detector is included in a software downloaded to the user device. The communication system according to claim 9 , wherein the ID code generator, the ID code injector, and the ID code detector are at least 114-200814679 implemented in a server device of a communication network in. The communication system according to claim 9, wherein at least one of the ID code generator, the ID code injector, and the ID code detector is included in a software downloaded to the server device. 20. The communication system according to claim 9 of the patent application, which represents a user device, the user device representing at least one of a telephone, a mobile telephone, and a telecommunications conference device. 21. A method of canceling a signal, comprising: generating an identification code (ID code); injecting the ID code into at least one of the signal and the processed signal to generate a whirling signal, the processed signal being processed by the signal Generating at least one of detecting the transition of the gyro signal, the transformed signal, and the gyro signal - the transformed signal is generated by the transform of the gyro signal; and removing at least one of the gyro signal and the transformed signal . 22. The method of claim 21, wherein the id code comprises at least one of a virtual random noise signal and a signal that is undetectable by a human ear. 23. The method of claim 21, further comprising removing background noise from the signal to produce the processed signal, wherein the processing of the signal should not remove the background noise from the fe. 24. The method of claim 21, further comprising converting the replica of the convoluted signal into a replica of the translating signal based on the transformation of the convoluted signal. The method of claim 24, wherein the transforming the replica of the convoluted signal comprises introducing a delay into the replica of the convoluted signal, and wherein the transforming of the convoluted signal comprises a delay of the convoluted signal . 26. The method of claim 24, further comprising subtracting the copy of the transformed signal from the combined signal comprising the transformed signal. The method of claim 26, wherein the signal represents a far-end signal received from a remote location in the communication configuration, and the combined signal additionally includes a near-end received from a local microphone in the communication configuration signal. 2 8. The method of claim 21, further comprising performing at least one of the generating, the injecting, and the detecting in the user device, the user device representing a phone, a mobile phone, and a teleconferencing device At least one of them. 29. The method of claim 21, further comprising downloading, to the user device, software that performs the generation, the injection, and the detecting. 3. The method of claim 21, further comprising performing at least one of the generating, the injecting, and the detecting in a server device of the communication network. -116-
TW096121019A 2006-06-14 2007-06-11 Code-based echo cancellation TW200814679A (en)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US80480606P 2006-06-14 2006-06-14
US11/537,994 US20070091907A1 (en) 2005-10-03 2006-10-02 Secured media communication across enterprise gateway
US11/537,990 US7688820B2 (en) 2005-10-03 2006-10-02 Classification for media stream packets in a media gateway
US11/537,980 US20070091848A1 (en) 2005-10-03 2006-10-02 Reducing data loss during handoffs in wireless communication
US11/538,034 US20070264989A1 (en) 2005-10-03 2006-10-02 Rendezvous calling systems and methods therefor
US11/537,985 US7546125B2 (en) 2005-10-03 2006-10-02 Enhancing user experience during handoffs in wireless communication
US11/538,037 US20080119165A1 (en) 2005-10-03 2006-10-02 Call routing via recipient authentication
US11/538,042 US20070094374A1 (en) 2005-10-03 2006-10-02 Enterprise-managed wireless communication
US11/755,704 US7480500B1 (en) 2006-06-14 2007-05-30 Divitas protocol proxy and methods therefor
US11/755,727 US20090016333A1 (en) 2006-06-14 2007-05-30 Content-based adaptive jitter handling
US11/755,702 US20080140767A1 (en) 2006-06-14 2007-05-30 Divitas description protocol and methods therefor
US11/755,710 US20080317241A1 (en) 2006-06-14 2007-05-30 Code-based echo cancellation

Publications (1)

Publication Number Publication Date
TW200814679A true TW200814679A (en) 2008-03-16

Family

ID=40328921

Family Applications (4)

Application Number Title Priority Date Filing Date
TW096121021A TW200818813A (en) 2006-06-14 2007-06-11 DiVitas description protocol and methods therefor
TW096121020A TW200820682A (en) 2006-06-14 2007-06-11 Content-based adaptive jitter handling
TW096121019A TW200814679A (en) 2006-06-14 2007-06-11 Code-based echo cancellation
TW096121022A TW200816753A (en) 2006-06-14 2007-06-11 DiVitas protocol proxy and methods therefor

Family Applications Before (2)

Application Number Title Priority Date Filing Date
TW096121021A TW200818813A (en) 2006-06-14 2007-06-11 DiVitas description protocol and methods therefor
TW096121020A TW200820682A (en) 2006-06-14 2007-06-11 Content-based adaptive jitter handling

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW096121022A TW200816753A (en) 2006-06-14 2007-06-11 DiVitas protocol proxy and methods therefor

Country Status (2)

Country Link
KR (1) KR20090085018A (en)
TW (4) TW200818813A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI491226B (en) * 2013-04-02 2015-07-01 Hon Hai Prec Ind Co Ltd Video playing device and controlling method
KR101503009B1 (en) * 2013-04-03 2015-03-18 주식회사 시큐아이 Method and apparatus for identifying application based on data size
KR102610823B1 (en) * 2017-11-27 2023-12-07 삼성전자주식회사 Communication system and method for network address translation
CN115334024B (en) * 2022-08-01 2024-07-09 鼎捷软件股份有限公司 Instant response system and instant response method

Also Published As

Publication number Publication date
TW200818813A (en) 2008-04-16
TW200816753A (en) 2008-04-01
TW200820682A (en) 2008-05-01
KR20090085018A (en) 2009-08-06

Similar Documents

Publication Publication Date Title
US7480500B1 (en) Divitas protocol proxy and methods therefor
US20080140767A1 (en) Divitas description protocol and methods therefor
US20090016333A1 (en) Content-based adaptive jitter handling
US20080317241A1 (en) Code-based echo cancellation
US20090147772A1 (en) Systems and methods for providing presence information in communication
US20070091907A1 (en) Secured media communication across enterprise gateway
EP2176987B1 (en) Multi-point to multi-point intercom system
US9001182B2 (en) Efficient and on demand convergence of audio and non-audio portions of a communication session for phones
US9059971B2 (en) Systems and methods for secure voice communications
US9900356B2 (en) Method and apparatus for transferring active communication session streams between devices
KR101705440B1 (en) Hybrid cloud media architecture for media communications
US8571189B2 (en) Efficient transmission of audio and non-audio portions of a communication session for phones
TW200814679A (en) Code-based echo cancellation
EP2055018A2 (en) Code-based echo cancellation
JP2007142786A (en) Handover server and mobile communication terminal capable of communicating with same
EP4659435A1 (en) Proximity-based audio conferencing
CN104348708A (en) Implementation method and device for leaving message
US8335209B2 (en) Group paging synchronization for VoIP system
Hsieh Reference Phone Number: A Secure and Quality of Service-Improved SIP-Based Phone System
KR102912701B1 (en) WebRTC-based Video Consultation System and Method Using the Same
WO2007147037A2 (en) Divitas protocol proxy and methods therefor
KR101269828B1 (en) Secure call service method using radio communication system
WO2007147034A2 (en) Content-based adaptive jitter handling
WO2007147036A2 (en) Divitas description protocol and methods therefor
JP2025057559A (en) Processing device, method, and program