專利名稱:基于諸如sip的計算機協(xié)議將電話呼叫與對話相關聯(lián)的制作方法
基于諸如SIP的計算機協(xié)議將電話呼叫與對話相關聯(lián)
背景
信令通常在公共交換電話網(wǎng)絡(PSTN)內用于建立和終止電路、會話等。例 如,用于PSTN的信令協(xié)議之一被稱為公共信道信令系統(tǒng)7 (SS7)。在PSTN中, 現(xiàn)有的信令協(xié)議可以提供對基本呼叫建立和卸載、記帳、無線服務和漫游、本地號 碼可移植性、免費通話服務、呼叫者ID、三方通話、呼叫轉接增強特征等的支持。 然而這些現(xiàn)有的信令協(xié)議提供了有限的支持。例如,關于呼叫者ID,無法保證呼 叫者ID信息端到端地傳遞。另一個問題是如果呼叫來自專用分組交換機(PBX) 擴展等,則呼叫者ID對用戶不是唯一的。例如,當Acme (阿柯姆)公司的雇員 打電話時,它可能標識"Acme"而不是該雇員。
與PSTN信令協(xié)議不同,會話初始協(xié)議(SIP)不限于在建立信令階段期間進 行通信。SIP是計算機系統(tǒng)可用于發(fā)現(xiàn)彼此并建立、修改和終止多媒體會話的應用 層控制協(xié)議。例如,SIP是用于實現(xiàn)IP語音技術的關鍵協(xié)議之一。實現(xiàn)IP語音技 術通常涉及將語音信息轉換至數(shù)字格式并將其以離散分組而不是傳統(tǒng)的PSTN電 路約定協(xié)議發(fā)送。SIP還與諸如即時消息收發(fā)和其他"實時"通信技術之類的實現(xiàn) 特征相關聯(lián)。例如,即時消息收發(fā)服務允許參與者發(fā)送消息并讓這些消息在一兩秒 鐘內由會話中的其他參與者收到。接收參與者隨后能夠將響應的消息以類似的方式 發(fā)送給其他參與者。
SIP是因特網(wǎng)建議標準。它的規(guī)范"RFC 3261 "可在 〈http:〃www.ietf.org/rfc/rfc3261.tx^處獲得。用于有關事件通知的SIP擴展的規(guī)范
"RFC 3265"可在〈http:〃www.ietf.org/rfc/rfc3265.txP處獲得。SIP網(wǎng)絡包括能夠作 為客戶機、服務器或兩者而參與對話的實體。SIP支持四類實體用戶代理、代理 服務器、重定向服務器和注冊器。用戶代理通過與其他SIP實體交互消息來發(fā)起并 終止會話。用戶代理可以是用戶代理客戶機("UAC"),或者用戶代理服務器
("UAS"),其中UAC是發(fā)起SIP請求的設備而UAS是接收SIP請求并對這些 請求作出響應的設備。作為示例,"IP電話"、個人數(shù)字助理和其他類型的計算 設備可以作為用戶代理。設備可以在一個對話中是UAC而在另一個對話中是UAS,
5或者可以在該對話期間改變角色。代理服務器是對客戶機充當服務器和對服務器充
當客戶機的實體。由此,代理服務器在UAC和UAS之間截取、解釋或轉發(fā)消息。 重定向服務器接受SIP請求并生成指向UAC的響應,其中該UAC發(fā)送該請求以 接觸可選網(wǎng)絡資源。注冊器是從用戶代理接受注冊信息并且通知所接收注冊信息的 位置服務的服務器。
SIP支持兩種消息類型從UAC發(fā)送至UAS的請求,以及響應請求時從UAS 發(fā)送至UAC的響應。SIP消息由三部分組成。SIP消息的第一部分是"請求線", 它包括指示消息方法(例如,INVITE (邀請))的字段以及指示標識該請求所指 向的用戶或服務的請求URI的字段。消息的第二部分包括其值被表示為名-值對的 頭部。SIP消息的第三部分是消息的主體,用于描述要發(fā)起的會話或者包括與該會 話相關的數(shù)據(jù)。消息主體可以在請求或響應中出現(xiàn)。
概述
提供了一種用于將電話呼叫與諸如會話初始協(xié)議(SIP)的計算機對話相關聯(lián) 的方法和系統(tǒng)。對話可以允許在計算設備上提供與電話呼叫有關的信息。A方想呼 叫B方。A方和B方都具有計算設備和電話。使用他們計算設備之間的消息收發(fā), A方發(fā)送開始與B方電話呼叫的請求。只要該請求由B方的計算設備接受,則建 立計算機對話(例如,SIP邀請事務對話)的信令階段,并嘗試經(jīng)由公共交換電話 網(wǎng)絡(PSTN)發(fā)起一電話呼叫。當接收到電話呼叫已成功建立的確認時,假設配 置合適,則A方的計算設備和B方的計算設備開始通話階段的計算機對話(例如, SIP對話)。計算機對話(在信令階段或通話階段)可用于發(fā)送有關A方和B方 的身份、電話呼叫的狀態(tài)、與電話呼叫相關聯(lián)的設備狀態(tài)等的消息。
多個系統(tǒng)組件可實現(xiàn)對話的建立,這些組件可以包括,也可以不包括在A方 和B方計算設備上運行的通信應用程序、幫助在A方和B方的計算設備之間傳遞 消息的實況通信服務器、在公共交換電話網(wǎng)絡和計算設備之間的接口、公共交換電 話網(wǎng)絡的組件(可以包括PBX的組件)等。
提供本概述以便以簡化形式引入概念精選,這些概念將在以下的詳細描述中 被進一步描述。本概述并不旨在標識要求保護主題的關鍵特征或本質特征,也不旨 在用于幫助確定要求保護主題的范圍。
附圖簡述
圖1是示出在一個實施例中用于將電話呼叫與SIP對話相關聯(lián)的系統(tǒng)各組件 的框圖。
圖2是示出在一個實施例中用于建立與電話呼叫相關聯(lián)的SIP對話的通信流
程的聯(lián)網(wǎng)圖。
圖3是示出用于在存在競爭條件的情況下建立與電話呼叫相關聯(lián)的SIP對話 的通信流程的聯(lián)網(wǎng)圖。
圖4示出在一個實施例中從呼叫方客戶端發(fā)送的SIP INVITE (邀請)消息的 內容。
圖5示出在一個實施例中從被呼叫方客戶端發(fā)送的SIP INVITE響應消息的內容。
圖6是示出在一個實施例中在呼叫者計算設備處建立與電話呼叫相關聯(lián)的SIP 對話的例程的流程圖。
圖7是示出在一個實施例中在被呼叫方計算設備處建立與電話呼叫相關聯(lián)的 SIP對話的例程的流程圖。
詳細說明
提供了一種將電話呼叫與基于計算機的對話相關聯(lián)的設施(例如,軟件設施 及相關系統(tǒng))。在某些實施例中,端到端SIP對話結合經(jīng)諸如公共交換電話網(wǎng)絡
(PSTN)的"普通老式電話網(wǎng)絡"進行的電話呼叫來建立。該設施隨后將PSTN 呼叫狀態(tài)與SIP對話狀態(tài)同步。例如,可以使用該SIP對話向被呼叫方標識呼叫方。 這就使得被呼叫方即便在呼叫不包括呼叫者ID信息時也能標識呼叫方。此外,使 用一個或多個字段來擴展SIP以支持PSTN狀態(tài)與SIP狀態(tài)的同步。這些擴展的示 例包括一個或多個呼叫信息字段(例如,經(jīng)由SIP INVITE發(fā)送)、 一個或多個呼 叫信息響應字段(例如,經(jīng)由SIP 200 OK (確認)發(fā)送)、以及一個或多個呼叫 信息匹配字段(例如,經(jīng)由SIPACK (應答)發(fā)送)。
在某些實施例中,當用戶(呼叫者)想給他或她計算機聯(lián)系人列表內的某人
(被呼叫方)打電話時,他或她就選擇該聯(lián)系人并且表明對該聯(lián)系人嘗試呼叫。此 亥ij,呼叫者計算設備上的應用程序將發(fā)送一請求(例如,SIP INVITE)給被呼叫方 計算設備,從而開始信令階段對話。請求可以包括該電話信息是與該聯(lián)系人建立對
話的一個方面的指示。此時被呼叫方就能料想到來自呼叫者的電話呼叫。如果被呼 叫方的計算設備以接受作為回復并且指示它支持電話信息,則呼叫者的計算設備就
7通過電話系統(tǒng)嘗試呼叫,并在隨后等待直到它得到指示被呼叫方的電話開始響鈴的 已遞送消息。 一旦被呼叫方聽見電話鈴響,被呼叫方能夠預測該呼叫是來自于呼叫 者,這在通常情況下如此,除非恰好在收到發(fā)送SIP消息的呼叫者的呼叫之前收到 來自另一呼叫者的呼叫。當呼叫者的計算設備收到該呼叫被應答以及計算機交換已
發(fā)生的指示時,呼叫者的計算設備隨后就知道該PSTN電話呼叫成功并且發(fā)送指示
成功的計算機消息。此時被呼叫方即能獲知該呼叫來自預期的呼叫者。
在應答呼叫確認被接收之后,就建立了通話階段計算機電話。因此,信息可
以在呼叫者計算設備和被呼叫方計算設備之間來回發(fā)送。這些信息可以包括對呼叫
己被保持、轉向或轉移等的指示。
圖1是示出在一個實施例中該設施的組件的框圖。在某些實施例中,該設施
包括通過因特網(wǎng)135連接到一個或多個客戶端150和175的實況通信服務器100。 實況通信服務器IOO包括存在服務器105,它可以是維護與即時消息收發(fā)服務的每 個用戶有關的狀態(tài)信息的SIP注冊器。存在服務器105可以包括預訂組件115和存 在文檔存儲120。預訂組件115為每個用戶維護預訂該用戶的存在信息的用戶的當 前列表。每個用戶的狀態(tài)信息以被稱為存在文檔的文檔形式表示。存在文檔存儲 120包含每個用戶的存在文檔,用以指示實況通信服務器100上該用戶的當前狀態(tài)。
用戶數(shù)據(jù)服務器110維護每個用戶的永久性數(shù)據(jù)并且包含聯(lián)系人列表存儲 125。聯(lián)系人列表存儲125包含每個用戶的聯(lián)系人列表。在某些實施例中,實況通 信服務器100將用戶的聯(lián)系人列表提供給該用戶的已注冊端點。這些端點的示例包 括客戶端A150和客戶端B175,它們都與人類用戶相關聯(lián)。在某些實施例中,客 戶端150和175包括通信應用程序155。通信應用程序155可以包含預訂組件160、 注冊組件165和用戶界面組件170。預訂組件160預訂該用戶聯(lián)系人的存在信息。 注冊組件165向實況通信服務器IOO注冊該用戶端點并發(fā)布對該用戶存在信息的更 新。用戶界面組件170可以在用戶與通信應用程序155交互時提供向其呈現(xiàn)的窗口、 視圖和其他圖形元素。
該設施可與PSTN網(wǎng)絡130相關聯(lián),而與每個客戶端相關聯(lián)的電話(180和 190)則可通過該網(wǎng)絡130進行通信。電話180和190還可以各自與遺留PBX 185 和195相關聯(lián)。如果需要,遠程電話控制(RCC)服務器196可以提供PBX (或 其他PSTN組件)和客戶端計算設備之間的接口。以此方式,客戶端計算設備就能 夠知曉在其中嘗試呼叫的PBX處所發(fā)生的活動。例如遠程呼叫控制服務器可以用 作將通信應用程序使用的標準協(xié)議轉換成由PBX支持的專用的計算機電話集(CTI)協(xié)議的網(wǎng)關。雖然未示出,但是一個或多個網(wǎng)關組件能夠讓經(jīng)由PSTN 130 的通信更為便利。例如,可以提供SIP-PSTN網(wǎng)關來讓計算設備和電話之間的呼叫 更為便利。
其上實現(xiàn)該設施的計算設備可以包括中央處理單元、存儲器、輸入設備(例 如,鍵盤和定點設備)、輸出設備(例如,顯示設備)和存儲設備(諸如,盤驅動 器)。存儲器和存儲設備是含有實現(xiàn)該系統(tǒng)的指令的計算機可讀介質。此外,數(shù)據(jù) 結構和消息結構可被存儲或經(jīng)由諸如通信鏈路上的信號之類的數(shù)據(jù)傳送介質發(fā)送。 可以使用各種通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點對點撥號連接、蜂窩電 話網(wǎng)絡等。
該設施的實施例可以在各種操作環(huán)境中實現(xiàn),這些操作環(huán)境包括個人計算機、 服務器計算機、手持式或膝上型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編 程消費電子設備、數(shù)碼相機、網(wǎng)絡PC、小型計算機、大型計算機、包括任何上述 系統(tǒng)或設備中任一種的分布式計算環(huán)境等。計算機系統(tǒng)可以是蜂窩電話、個人數(shù)字 助理、智能電話、個人計算機、可編程消費電子設備、數(shù)碼照相機等。
系統(tǒng)可以在由一個或多個計算機或其他設備執(zhí)行的諸如程序模塊等計算機可 執(zhí)行指令的通用上下文中描述。 一般而言,程序模塊包括執(zhí)行特定的任務或實現(xiàn)特 定的抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結構等等。通常,程序模塊的 功能可以按需在各個實施例中進行組合或分布。
圖2是示出在兩個客戶端(諸如,圖1的客戶端A150和客戶端B175)之間 的SIP對話建立進程200中的通信(例如,包含方法和響應的消息)流程的網(wǎng)絡圖, 其中客戶端A正經(jīng)由PSTN呼叫客戶端B。圖2的通信流程在不存在競爭條件(諸 如,那些由嘗試呼叫的第三方引起的條件)的情況下出現(xiàn)。在示出的實施例中, PSTN信令經(jīng)CSTA ECMA-269呼叫控制抽象(由計算應用程序用于監(jiān)視并控制交 換系統(tǒng),諸如PBX)發(fā)生(用虛線箭頭表示)。在某些實施例中,這些信令在相 應的PBX處實現(xiàn),并且可能與遠程呼叫控制服務器相關聯(lián)。雖然被描述為從客戶 端到客戶端的傳播,圖2中描述的SIP消息(即,那些由實線表示的消息)也可替 代地經(jīng)由諸如圖1的實況通信服務器100的公共服務器通信。時間沿圖中向下方向 推進,因此該圖頂部的消息早于那些底部的消息被發(fā)送。
進程由客戶端A發(fā)送帶有標準SIP邀請頭部和呼叫信息頭部的SIP INVITE 205開始。該消息205內的字段可以包括呼叫者電話統(tǒng)一資源標識符(URI)、被 呼叫電話URI、可任選呼叫者ID (諸如,公司號碼)、呼叫類型(例如,常規(guī)、咨詢、會議等)等。只要在客戶端A和客戶端B之間存在SIP連接的可能,作為 響應,客戶端B就會發(fā)送包括"所支持電話"頭部的SIP 183 (在進行中)響應210。 這表示了 SIP對話信令階段的開始。此時,客戶端B能夠預料接收來自客戶端A 的呼叫。如果客戶端A無法經(jīng)由SIP與客戶端B通信(例如,沒有可用地址、沒 有聯(lián)合(federation)等),則作為接收SIP 183 (在進行中)響應的替代,客戶端 A將接收4xx響應代碼(指示出錯)。
接下來五次通信(215、 220、 225、 230和235)表示相關于PSTN發(fā)生的信 令。如果使用遠程呼叫控制服務器,這些通信將在該遠程呼叫控制服務器和相應的 客戶端之間傳遞??蛇x地,它們可以直接在PBX和相應的客戶端之間傳遞。在示 出的實施例中,這些通信的第一個是進行呼叫服務請求信號215。該信號可以與將 連接ID分配給呼叫設備相關聯(lián)??蛻舳薃隨后接收進行呼叫響應信號220,及隨 后的已發(fā)源信號225。由客戶端B接收的已遞送信號230 (接收自客戶端B的PBX 或RCC)對應于客戶端B的電話響鈴??蛻舳薃也接收到表示電話響鈴事件的己 遞送信號235。
在客戶端A和客戶端B都己接收到遞送信號之后,客戶端B發(fā)送SIP 180 (響 鈴)響應240。該響應可以包括所支持的電話頭部。類似地,在某些實施例中,在 客戶端B發(fā)送SIP 180 (響鈴)響應給客戶端A之前,客戶端A可以發(fā)送含有標 識信息的SIP 180 (響鈴)響應給客戶端B,這樣客戶端B就能夠知道是誰在呼叫。
當與客戶端B相關聯(lián)的用戶實際上應答響鈴電話時,客戶端B發(fā)送SIP 200 OK 響應245。除了所支持電話頭部之外,在此響應245中的字段可以包括呼叫者電話 統(tǒng)一資源標識符(URI)、被呼叫電話URI、以及狀態(tài)字段。
通過應答響鈴電話,與客戶端B相關聯(lián)的用戶發(fā)起進一步的PSTN信令。例 如,客戶端A和客戶端B都接收到來自它們各自PBX/RCC的已建立信號(分別 是250和255)。作為該信令的結果,客戶端A發(fā)送SIP ACK 260。 SIP ACK 260 表示INVITE事務的結束以及信令階段對話的結束。除了頭部信息之外,該ACK 可以包括與匹配標志有關的信息。這允許客戶端B將該呼叫與SIP URI和談話窗 口相關聯(lián),藉此建立SIP通話階段對話。
圖3是示出在兩個客戶端(諸如,圖1的客戶端A150和客戶端B175)之間 的SIP對話建立進程300中的通信(例如,包含方法和響應的消息)流程的網(wǎng)絡圖, 其中客戶端A正經(jīng)由PSTN呼叫客戶端B。圖3內的通信流程在有競爭條件存在 的情況下出現(xiàn)。更具體地,第三呼叫者C在客戶端A嘗試呼叫客戶端B的同時嘗試對與客戶端B相關聯(lián)的電話進行呼叫。如同圖2,在圖3所示的實施例中,PSTN 信令經(jīng)由CSTAECMA-269呼叫控制抽象而發(fā)生(用虛線箭頭表示)。在某些實施 例中,這些信令在各自的PBX處實現(xiàn),并且可能與遠程呼叫控制服務器相關聯(lián)。 雖然被描述為從客戶端到客戶端地傳播,但是圖3中描述的SIP消息(即,那些由 實線表示的消息)也可替代地經(jīng)由諸如圖1的實況通信服務器的公共服務器通信。
進程由客戶端A發(fā)送帶有標準SIP邀請頭部和呼叫信息頭部的SIP INVITE 305開始,由此發(fā)起SIP信令對話。作為響應,B發(fā)送包括"所支持電話"頭部的 SIP 183 (在進行中)響應310。接下來三次通信(315、 320和325)中,客戶端A 進行與PBX/RCC的信令通信以嘗試建立PSTN呼叫。然而,在此之前,呼叫者C 己經(jīng)呼叫客戶端B的電話。因此,雖然進行呼叫服務請求信號215、進行呼叫響應 信號320和已發(fā)源信號325正常出現(xiàn),但是客戶端A在C對客戶端B電話的呼叫 被遞送(信號330)之后不久就接收到失敗信號335。此時,客戶端B能夠預料接 收來自客戶端A的呼叫。隨后,客戶端B在不是客戶端A的較小風險下應答該電 話。作為響應,客戶端A發(fā)送SIP CANCEL (取消)340給客戶端B。此時,客 戶端B知道該呼叫不是來自客戶端A。這就結束了建立SIP通話階段電話的進程。 與此同時,與客戶端B相關聯(lián)的用戶應答來自呼叫者C的電話呼叫,并且從 PBX/RCC接收與C的呼叫有關的已建立信號345。
圖4示出在一個實施例中由第一 SIP客戶端(呼叫方)經(jīng)實況通信服務器發(fā) 送給第二 SIP客戶端(被呼叫方)的INVITE消息400的內容。INVITE消息400 包括IP頭部405、 TCP頭部410和SIP消息412。 TCP/IP之外的協(xié)議也可用于底 層傳輸。SIP消息412包括帶有SUBSCRIBE (預訂)方法的請求行415、發(fā)件人 頭部420、收件人頭部425、呼叫者電話URI頭部430、被呼叫電話URI頭部435、 輔助呼叫者ID頭部440、呼叫類型頭部445、所支持頭部450和內容長度頭部455。 發(fā)件人頭部420標識420發(fā)送客戶端計算設備(呼叫者)。收件人頭部425指定要 該分組的發(fā)送者所預訂的端點(被呼叫方)。呼叫者電話URI頭部430指定呼叫 者的電話,而被呼叫電話URI頭部435則指定被呼叫方的電話。輔助呼叫者ID頭 部440提供可選的呼叫者ID (例如,與該呼叫者相關聯(lián)的公司的ID),并且是可 任選的。呼叫類型頭部445指定呼叫類型,例如可以是常規(guī)呼叫、會議呼叫、咨詢 呼叫等。所支持頭部450指定發(fā)件方支持的任何特定行為。內容長度頭部455的0 值指示沒有數(shù)據(jù)跟隨在SIP消息頭部之后。然而在可選實現(xiàn)中,包含在頭部內的部 分數(shù)據(jù)(例如,呼叫者電話URI、輔助呼叫者ID等)可以替代地在消息數(shù)據(jù)中提供。
圖5示出在一個實施例中由被呼叫方(經(jīng)實況通信服務器)發(fā)送至SIP客戶
端的INVITE響應500的內容。INVITE消息500包括IP頭部505、 TCP頭部510 和SIP消息515。 TCP/IP之外的協(xié)議也可用于底層傳輸。SIP消息515包括SIP響 應標識符520、收件人頭部525、發(fā)件人頭部530、呼叫者電話URI頭部531、被 呼叫電話URI頭部532、狀態(tài)頭部533、 CSeq頭部535、所支持頭部540和內容長 度頭部545。 SIP響應標識符520標識SIP版本2.0以及指示預訂成功的請求的狀 態(tài)(例如,202 Accepted (被接受))。收件人頭部525指定該請求的原始發(fā)送者 所預訂的端點。發(fā)件人頭部530指定該請求的原始發(fā)送者。呼叫者電話URI頭部 531指定呼叫者的電話,而被呼叫電話URI頭部532則指定被呼叫方的電話。狀態(tài) 頭部533指定被呼叫方的呼叫系統(tǒng)的狀態(tài)。CSeq頭部535被包含在來自實況通信 服務器的包括請求和響應的每個消息中,并被用作序列號來確定來自該服務器的消 息的相對順序。為每個SIP對話創(chuàng)建不同的序列號,并且該序列號通常指定創(chuàng)建該 對話的請求的類型。例如,CSeq頭部535具有值1 INVITE,以指示這是在由收件 人和發(fā)件人頭部指定的端點之間的INVITE請求所創(chuàng)建的對話中來自服務器的第 一條消息。序列號較小的消息比序列號較大的消息更早的從服務器發(fā)送。所支持頭 部540指定發(fā)件方支持的任何特定行為。內容長度頭部545的0值指示在SIP消息 頭部之后跟隨有O字節(jié)數(shù)據(jù)。然而在一個可選實施例中,包含在頭部內的部分數(shù)據(jù) (例如,呼叫者電話URI、被呼叫者電話URI、匹配標志等)可以替代地在消息數(shù) 據(jù)中提供。
圖6是示出在呼叫方客戶端計算設備處建立與電話呼叫相關聯(lián)的SIP對話的 例程600的流程圖。例程600在呼叫方嘗試使用他或她的客戶端計算設備處的通信 應用程序來進行電話呼叫時被調用。在框605處,例程600創(chuàng)建并發(fā)送SIP INVITE 消息,該消息例如可發(fā)送至實況通信服務器以建立與被呼叫方客戶端計算設備的連 接。該場景假設被呼叫方的客戶端計算設備被配置用于SIP通信。如若不然,則該 呼叫的電話呼叫方面將繼續(xù),但是沒有SIP對話被建立。
在框610處,建立SIP信令階段對話,并且該例程接收到來自服務器的SIP 會話進展(183)響應。在框615處,呼叫方客戶端計算設備發(fā)送并接收一個或多 個PSTN信號,這些信號可以包括進行呼叫信號、進行呼叫響應信號、發(fā)起響應消 息、遞送響應信號等。如上所述,這些信號可以在客戶端和PBX之間直接進行通 信,也可經(jīng)由遠程呼叫控制(RCC)接口來進行。在判定框620處,如果在框615處的信號包括指示PSTN呼叫進程已失敗的失敗響應信號,則該例程就行進至框
625以發(fā)送SIP取消消息,該消息將終止建立SIP對話的任何進一步的嘗試(或者 作為替代,進行該SIP對話以使得嘗試一呼叫的事實在被呼叫方客戶端計算設備處
被記入日志)。
然而,如果在判定框620處,在框615處的信號不包括失敗響應信號,例程 600就行進至框630,其中它接收SIP響鈴(180)響應。在該呼叫由被呼叫方應答 之后,在框635處,例程600接收指示成功事務的SIPOK (200)響應。雖然沒有 具體示出,但是如果被呼叫方?jīng)]有應答,則該例程600最終會等待OK響應(而非 行進至框635)超時,從而導致例程600結束。
在框640處,例程600接收來自PBX/RCC的PSTN已建立信號。作為響應, 例程600發(fā)送指示SIP對話已建立的SIP ACK (框645) 。 SIP對話隨后在呼叫期 間并可能在其后繼續(xù)。它可用于發(fā)送消息(例如,呼叫者ID消息、呼叫轉向消息、 呼叫等待消息等),而無需依賴PSTN信令。
圖7是示出在被呼叫方客戶端計算設備處用于建立與電話呼叫相關聯(lián)的SIP 對話的例程700的流程圖。例程700在呼叫方試圖使用他或她的客戶端計算設備處 的通信應用程序來發(fā)起電話呼叫時被調用。在框705處,例程700接收SIP INVITE 消息,該消息例如可以是在呼叫方的客戶端己嘗試建立與被呼叫方客戶端計算設備 的連接之后從實況通信服務器發(fā)送的。該場景假設被呼叫方的客戶端計算設備被配 置用于SIP通信。如若不然,則該呼叫的電話呼叫方面將繼續(xù),但是沒有SIP對話 被建立。
在框710處,例程700創(chuàng)建并從服務器發(fā)送SIP會話進展(183)響應,以表 示SIP信令階段對話的開始。在框715處,例程700接收PSTN己遞送信號,該信 號指示已在PSTN上對被呼叫方嘗試呼叫。該信號可以在例程700和PBX之間直 接進行通信,也可經(jīng)由遠程呼叫控制(RCC)接口來進行。如果在判定框720, 例程接收SIP取消,這指示呼叫方客戶端已檢測到PSTN呼叫建立的失敗,并且不 再進行進一步SIP通信(導致例程700結束)。然而,如果在判定框720處,沒有 收到SIP取消消息,該SIP通信將行進至框725,其中例程700創(chuàng)建并發(fā)生SIP響 鈴(180)響應。
在被呼叫方己應答該呼叫之后,在框730處,例程700生成并發(fā)送SIP OK(200) 響應,以指示成功的SIP事務己發(fā)生。雖然沒有具體示出,但是如果被呼叫方?jīng)]有 應答,則該例程700最終會等待OK響應(而非行進至框730)超時,從而導致例
13程700結束。
在框735處,例程700接收來自PBX/RCC的PSTN已建立信號。假設呼叫方 客戶端也接收到類似的信號,則例程700接收指示SIP通話階段對話已建立的SIP ACK(框740)。已建立的SIP對話隨后在呼叫期間并可能在其后繼續(xù)。它可用于 發(fā)送消息(例如,呼叫者ID消息、呼叫轉向消息、呼叫等待消息等),而無需依 賴PSTN信令。
雖然已經(jīng)用具體到結構特征和/或方法動作的語言對主題進行了描述,但是應 該理解在所附權利要求中定義的該主題不必限于上述具體的特征或動作。相反,上 述具體特征和動作作為實現(xiàn)權利要求的示例形式而公開。因此,本發(fā)明只由所附權
利要求來限制。
權利要求
1. 一種在計算設備中用于將電話呼叫與呼叫者相關聯(lián)的方法,所述方法包括接收來自呼叫者的對被呼叫者嘗試電話呼叫的輸入,其中所述電話呼叫經(jīng)公共電話網(wǎng)絡建立;發(fā)起與所述被呼叫者的電話呼叫;以及經(jīng)由相對于所述公共電話網(wǎng)絡在帶外的通信機制,發(fā)送所述呼叫者期望發(fā)起與所述被呼叫者的電話呼叫的指示,使得所述被呼叫者能夠預料呼入呼叫是來自所述呼叫者的。
2. 如權利要求l所述的方法,其特征在于,相對于所述公共電話網(wǎng)絡在帶外 的所述通信機制基于會話初始協(xié)議(SIP)。
3. 如權利要求l所述的方法,其特征在于,發(fā)起與所述被呼叫者的所述電話 呼叫包括發(fā)送會話初始協(xié)議(SIP) INVITE消息。
4. 如權利要求l所述的方法,其特征在于,發(fā)起與所述被呼叫者的所述電話 呼叫包括發(fā)送提供與所述被呼叫者相關聯(lián)的標識的指示的會話初始協(xié)議(SIP) 180 響應。
5. 如權利要求l所述的方法,其特征在于,還包括向公共電話網(wǎng)絡組件發(fā)送 并從其接收公共電話網(wǎng)絡信號,其中所述信號與經(jīng)所述公共電話網(wǎng)絡建立所述電話 呼叫相關聯(lián)。
6. 如權利要求1所述的方法,其特征在于,還包括從與所述被呼叫者相關聯(lián) 的計算設備接收會話初始協(xié)議(SIP) ACK,其中所述會話初始協(xié)議(SIP) ACK 表示會話初始協(xié)議(SIP) INVITE事務的結束以及在與所述呼叫者相關聯(lián)的計算設 備和與所述被呼叫者相關聯(lián)的所述計算設備之間的SIP通話階段對話的幵始。
7. —種在計算機系統(tǒng)中用于提供與在公共交換電話網(wǎng)絡上進行的電話呼叫相 關聯(lián)的至少一個計算機對話的方法,所述方法包括接收會話初始協(xié)議(SIP) INVITE消息,其中所述會話初始協(xié)議(SIP) INVITE 與發(fā)起從呼叫者到被呼叫者的電話呼叫相關聯(lián),并且所述會話初始協(xié)議(SIP) INVITE消息發(fā)送自與所述呼叫者相關聯(lián)的計算設備;以及在與所述呼叫者相關聯(lián)的所述計算設備和與所述被呼叫者相關聯(lián)的計算設備 之間開始會話初始協(xié)議(SIP)對話,其中所述會話初始協(xié)議(SIP)對話包括至少部分地用于發(fā)送與標識所述呼叫者身份相關聯(lián)的消息的信令階段,以及在所述電話 呼叫在所述公共交換電話網(wǎng)絡上建立之后開始的通話階段。
8. 如權利要求7所述的方法,其特征在于,在所述公共交換電話網(wǎng)絡上建立 所述電話呼叫包括發(fā)送來自與所述呼叫者相關聯(lián)的所述計算設備的進行呼叫信號,其中所述進 行呼叫信號旨在由所述公共交換電話網(wǎng)絡的組件接收;在與所述呼叫者相關聯(lián)的所述計算設備處接收進行呼叫信號,其中所述進行 呼叫信號在所述公共交換電話網(wǎng)絡的所述組件發(fā)源;在與所述呼叫者相關聯(lián)的所述計算設備處接收己發(fā)源信號,其中所述已發(fā)源 信號在所述公共交換電話網(wǎng)絡的所述組件處發(fā)源;以及在與所述呼叫者相關聯(lián)的所述計算設備處接收己遞送信號,其中所述已遞送 信號在所述公共交換電話網(wǎng)絡的所述組件處發(fā)源并且指示第二電話正在響鈴。
9. 如權利要求8所述的方法,其特征在于,所述公共交換電話網(wǎng)絡的所述組 件是專用分組交換機(PBX)。
10. 如權利要求8所述的方法,其特征在于,所述公共交換電話網(wǎng)絡的所述 組件是專用分組交換機(PBX),并且所述進行呼叫信號、所述已發(fā)源信號和所述 己遞送信號都是從遠程呼叫中心接口接收的。
11. 如權利要求7所述的方法,其特征在于,所述會話初始協(xié)議(SIP) INVITE 消息在通信服務器處被接收,并且所述服務器將其傳遞給與所述被呼叫者相關聯(lián)的 所述計算設備。
12. 如權利要求7所述的方法,其特征在于,還包括,如果如收到來源于所 述公共交換電話網(wǎng)絡的組件的失敗信號所指示的,沒有建立所述電話呼叫,則發(fā)送 取消所述會話初始協(xié)議(SIP)對話的開始的請求,其中所述取消請求在所述信令 階段期間被發(fā)送。
13. —種包含用于控制第一計算設備執(zhí)行一方法的指令的計算機可讀介質, 所述方法包括經(jīng)公共交換電話網(wǎng)絡發(fā)起電話呼叫,包括開始與經(jīng)由計算機網(wǎng)絡連接的第二 計算設備的信令階段對話,其中所述信令階段對話與在所述公共交換電話網(wǎng)絡上建 立所述電話呼叫相關聯(lián);以及如果所述電話呼叫被應答,就開始與所述第二計算設備的通話階段對話,其 中所述通話階段對話至少在所述電話呼叫進行的同時允許消息在所述第一和第二計算設備之間傳遞。
14. 如權利要求13所述的計算機可讀介質,其特征在于,發(fā)起所述電話呼叫包括發(fā)送會話初始協(xié)議(SIP) INVITE消息。
15. 如權利要求13所述的計算機可讀介質,其特征在于,所述通話階段對話 的開始在從所述第二計算設備接收會話初始協(xié)議(SIP) ACK之后發(fā)生,其中所述 會話初始協(xié)議(SIP) ACK表示會話初始協(xié)議(SIP) INVITE事務的結束。
16. 如權利要求13所述的計算機可讀介質,其特征在于,所述信令階段對話 基于會話初始協(xié)議(SIP),并且所述方法還包括在所述信令階段對話期間,接收 指示與所述第二計算設備相關聯(lián)的電話響鈴的180會話初始協(xié)議(SIP)消息。
17. 如權利要求13所述的計算機可讀介質,其特征在于,所述信令階段對話 基于會話初始協(xié)議(SIP),并且所述方法還包括在所述信令階段對話期間,接收 指示與所述第二計算設備相關聯(lián)的電話已被應答的200 OK會話初始協(xié)議(SIP) 消息。
18. 如權利要求13所述的計算機可讀介質,其特征在于,所述信令階段對話 包括提供具有允許所述第二計算設備的用戶來確定所述第一計算設備用戶的身份 的指示的消息。
19. 如權利要求B所述的計算機可讀介質,其特征在于,所述信令階段對話 基于會話初始協(xié)議(SIP),并且所述方法還包括在所述信令階段對話期間,響應 于所述電話呼叫的發(fā)起接收183會話初始協(xié)議(SIP)消息,并且所述183會話初 始協(xié)議(SIP)消息提供所述第二電話支持所述信令階段對話和所述通話階段對話 的指示。
20. 如權利要求13所述的計算機可讀介質,其特征在于,在所述通話階段對 話期間在所述第一和第二計算設備之間傳遞的消息包括文本信息。
全文摘要
在計算設備處提供與電話呼叫有關的非語音能力包括接收開始從第一電話到第二電話的電話呼叫的請求,其中該請求使用經(jīng)計算機網(wǎng)絡連接的各計算設備之間的消息收發(fā)來執(zhí)行,并且該消息收發(fā)是信令階段對話的一部分。該信令階段對話可用于提供與電話呼叫各方的身份相關聯(lián)的信息??梢栽诮?jīng)公共交換電話網(wǎng)絡建立該電話呼叫之后執(zhí)行計算設備之間通話階段對話的開始。通話階段對話至少在該電話呼叫進行的同時允許與該電話呼叫相關聯(lián)的消息在計算設備之間傳遞。這些對話和消息收發(fā)可以使用會話初始協(xié)議(SIP)或另一計算機通信協(xié)議來進行。
文檔編號H04L12/66GK101507210SQ200680029292
公開日2009年8月12日 申請日期2006年7月20日 優(yōu)先權日2005年8月15日
發(fā)明者A·拉加哈弗, D·利維恩, P·薩姆達伊亞 申請人:微軟公司