JP2003518352A - Session initiation protocol servlet application programming interface - Google Patents

Session initiation protocol servlet application programming interface

Info

Publication number
JP2003518352A
JP2003518352A JP2001547269A JP2001547269A JP2003518352A JP 2003518352 A JP2003518352 A JP 2003518352A JP 2001547269 A JP2001547269 A JP 2001547269A JP 2001547269 A JP2001547269 A JP 2001547269A JP 2003518352 A JP2003518352 A JP 2003518352A
Authority
JP
Japan
Prior art keywords
sip
servlet
service logic
telephone service
public
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2001547269A
Other languages
Japanese (ja)
Inventor
デオ・アジェイ
Original Assignee
エムシーアイ・ワールドコム・インコーポレーテッド
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
Application filed by エムシーアイ・ワールドコム・インコーポレーテッド filed Critical エムシーアイ・ワールドコム・インコーポレーテッド
Publication of JP2003518352A publication Critical patent/JP2003518352A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • H04L65/104Signalling gateways in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • H04L65/103Media gateways in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer

Abstract

(57)【要約】 本発明において、サーブレットは、電話サービス論理を提供する。本発明の一実施形態では、アプリケーションプログラムインターフェース(API)がSIPサーブレットに対して定義されている。APIは、より低いレベルのサービスを要求しかつ実行するためにアプリケーションが使用する1組の方法である。SIPサーブレットAPIは、完全に開発されたSIPサーブレットとなるためにサーブレットがサポートすべきインターフェースおよびオブジェクトを識別する。APIは、SIPサーブレットに対して必要とされる機能を識別する。 (57) [Summary] In the present invention, a servlet provides telephone service logic. In one embodiment of the present invention, an application program interface (API) is defined for a SIP servlet. An API is a set of methods used by applications to request and perform lower level services. The SIP Servlet API identifies the interfaces and objects that the servlet must support to be a fully developed SIP servlet. The API identifies the required functionality for a SIP servlet.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】TECHNICAL FIELD OF THE INVENTION

本発明は、一般的には、遠距離通信システムに関し、かつ、より詳細には、セ
ッション開始プロトコルサーブレット(servlet)アプリケーションプログラミ
ングインターフェースに関する。
The present invention relates generally to telecommunications systems, and more particularly to session initiation protocol servlet application programming interfaces.

【0002】[0002]

【従来の技術および発明が解決しようとする課題】[Prior Art and Problems to be Solved by the Invention]

セッション開始プロトコル(SIP)は、コンピューティングシステムまたは他
の適切なデバイスの間における通信セッションを生成しかつ変更しかつ終了する
ためのアプリケーション層プロトコルである。SIPは、Handley et al,“SIP: Se
ssion Initiation Protocol,”Internet Engineering Task Force, RFC 2543 (A
ugust 1999)に正式に定義されている。多数の参加者が各セッションに参加して
もよい。セッションの例は、インターネットマルチメディア会議とインターネッ
ト電話コールとマルチメディアディストリビューションセッションとを含む。セ
ッションにおける参加者は、マルチキャストを介して、または、ユニキャスト関
係のメッシュを介して、または、マルチキャストとユニキャスト関係との組合せ
を介して、通信してもよい。
Session Initiation Protocol (SIP) is an application layer protocol for creating, modifying and terminating communication sessions between computing systems or other suitable devices. SIP is Handley et al, “SIP: Se
ssion Initiation Protocol, ”Internet Engineering Task Force, RFC 2543 (A
ugust 1999). Multiple participants may participate in each session. Examples of sessions include internet multimedia conferences, internet telephone calls and multimedia distribution sessions. Participants in the session may communicate via multicast, via a mesh in a unicast relationship, or via a combination of multicast and unicast relationships.

【0003】 従来のシステムは、SIPに応ずるアプリケーションプログラムを開発するため
の便利な機構を提供しない。開発者は、アプリケーションを注文開発しなくては
ならず、かつ、「アプリケーションが、SIPプロトコルによって命じられる振る
舞いに従う」ということを保証しなくてはならない。このことは、不本意ながら
、アプリケーション開発を厄介なものにし、かつ、SIPに応ずる新たなアプリケ
ーションの増殖を妨害する。そのようなアプリケーションの注目性質を仮定する
と、そのようなアプリケーションのメンテナンスもまた困難になるかも知れない
Conventional systems do not provide a convenient mechanism for developing SIP compliant application programs. The developer must make the application custom-built and ensure that the application "follows the behavior dictated by the SIP protocol." This reluctantly complicates application development and hinders the growth of new SIP-compliant applications. Given the attention nature of such applications, maintenance of such applications may also be difficult.

【0004】[0004]

【課題を解決するための手段】 本発明は、SIPサーブレットの使用を容易にすることによって、従来システム
の上記限界を検討する。用語「サーブレット」は、この文脈において使用される
ように、希望される機能を提供するためにサーバ上で実行するコンピュータコー
ドの一部を指す。サーブレットは、アプレットに類似したサーバサイドが考慮さ
れてもよい。本発明において、サーブレットは、電話サービス論理を提供する。
本発明の一実施形態では、アプリケーションプログラムインターフェース(API
)がSIPサーブレットに対して定義されている。APIは、より低いレベルのサービ
スを要求しかつ実行するためにアプリケーションが使用する1組の方法である。
SIPサーブレットAPIは、完全に開発されたSIPサーブレットとなるためにサーブ
レットがサポートすべきインターフェースおよびオブジェクトを識別する。API
は、SIPサーブレットに対して必要とされる機能を識別する。
The present invention addresses the above limitations of conventional systems by facilitating the use of SIP Servlets. The term "servlet", as used in this context, refers to a piece of computer code that executes on a server to provide the desired functionality. Servlets may be considered server side similar to applets. In the present invention, the servlet provides the telephone service logic.
In one embodiment of the invention, an application program interface (API
) Is defined for the SIP Servlet. APIs are a set of methods that applications use to request and perform lower level services.
The SIP Servlet API identifies the interfaces and objects that a servlet must support in order to be a fully developed SIP Servlet. API
Identifies the functionality required for the SIP Servlet.

【0005】 本発明の1つの特徴によると、SIPサーブレットは、データ処理装置において
提供される。SIPサーブレットは、電話サービス論理を履行するために実行され
る。電話サービス論理の一部として、SIPサーブレットは、SIPリクエストまたは
SIP応答のようなSIPメッセージを、調査しまたは扱いまたはリダイレクトしても
よい。
According to one feature of the invention, the SIP Servlet is provided in a data processing device. The SIP Servlet is executed to implement the telephone service logic. As part of the telephone service logic, SIP Servlets
SIP messages such as SIP responses may be inspected or treated or redirected.

【0006】 本発明の他の特徴によると、サーブレットは、コンピューティング環境におい
て提供される。サーブレットを管理するために、サーブレットマネージャが提供
される。SIPに従う通信が受信される。サーブレットマネージャは「サーブレッ
トのうちの選択された1つが通信を処理すべきである」ということを判断し、そ
して、選択されたサーブレットが該通信を処理する。
According to another feature of the invention, a servlet is provided in a computing environment. A servlet manager is provided to manage the servlets. Communication according to SIP is received. The servlet manager determines that "the selected one of the servlets should handle the communication", and the selected servlet handles the communication.

【0007】 本発明の更なる特徴によると、電子装置が、SIPメッセージを受信するための
インターフェースを具備する。該装置はまた、電話サービス論理を履行するため
に、SIPメッセージを取り扱うためのサーブレットを具備する。
According to a further feature of the invention, the electronic device comprises an interface for receiving SIP messages. The device also comprises a servlet for handling SIP messages to implement the telephony service logic.

【0008】[0008]

【発明の実施の形態】 本発明の実例となる実施形態が、添付図面に関連して、以下に記述される。DETAILED DESCRIPTION OF THE INVENTION   Illustrative embodiments of the invention are described below with reference to the accompanying drawings.

【0009】 実例となる実施形態は、SIPサーブレットのためのアプリケーションプログラ
ミングインターフェース(API)を定める。開発者は、カスタマイズされた振る
舞いを提供するSIPサーブレットを開発するために、このAPIを使用してもよい。
SIPサーブレットは、SIPサーブレットAPIにおいて先に定めされた方法の履行を
提供する。ユーザーがサーバの機能を急いで動的に拡張することを、SIPサーブ
レットは可能にする。SIPサーブレットは、電話サービス論理を履行するために
、メッセージを検分でき、かつ、メッセージヘッダの値を変更でき、かつ、メッ
セージをリダイレクトでき、かつ、メッセージに一般的な処理を行うことができ
る。例えば、SIPサーブレットは、呼送信と呼スクリーニングと移動サービスと
を履行するために、使用されることができる。当業者は「SIPサーブレットはま
た、追加の電話サービス論理を履行するために使用されてもよい」ということを
理解するであろう。
The illustrative embodiment defines an application programming interface (API) for SIP Servlets. Developers may use this API to develop SIP Servlets that provide customized behavior.
The SIP Servlet provides the implementation of the methods previously defined in the SIP Servlet API. SIP Servlets allow users to quickly and dynamically extend the functionality of a server. The SIP Servlet can inspect the message, change the value of the message header, redirect the message, and perform general processing on the message to implement the telephone service logic. For example, SIP Servlets can be used to fulfill call transmission, call screening, and mobile services. Those skilled in the art will appreciate that "SIP Servlet may also be used to implement additional telephony service logic."

【0010】 実例となる実施形態のSIPサーブレットは、Sun Microsystems, Inc(登録商標
)のJava(登録商標)プログラミング言語のようなプログラミング言語で記述さ
れてもよい。当業者は「サーブレットはまた、他の適切なプログラミング言語で
記述されてもよい」ということを理解するであろう。
The SIP servlet of the illustrative embodiment may be written in a programming language such as Sun Microsystems, Inc®'s Java® programming language. Those skilled in the art will understand that "servlets may also be written in other suitable programming languages".

【0011】 SIP(即ち、セッションは「呼」の通過を伴う)は、メッセージと応答メッセ
ージとをリクエストする。これらは、SIPにおいて使用される2つの排他的なタ
イプのメッセージである。応答メッセージは、リクエストメッセージに応答する
。例えば、第1ユーザーが第2ユーザーとのセッションを開始することを希望す
るとき、第1ユーザーは、INVITEリクエストを、第2ユーザーへ送る。第2ユー
ザーは、INVITEリクエストを受信し、かつ、「第2ユーザーがセッションへの参
加を希望するか否か」ということを識別する応答メッセージを伴って応答する。
SIP (ie, a session involves passing a “call”) requests a message and a response message. These are two exclusive types of messages used in SIP. The response message responds to the request message. For example, when the first user wants to initiate a session with the second user, the first user sends an INVITE request to the second user. The second user receives the INVITE request and responds with a response message identifying "whether the second user wants to join the session".

【0012】 図1は、本発明の実例となる実施形態を実行するのに適切な第1システム10
のブロック図を描く。ユーザーは、SIPを介して通信できるユーザーデバイス1
2を使用する。ユーザーデバイス12は、コンピュータシステムまたはセルラー
フォンまたはインテリジェントページャまたは携帯情報端末(PDA)または(
より一般的には)SIPセッションに参加できる如何なる電子装置であってよい。
第2ユーザーはまた、ユーザーデバイス14を使用する。ユーザーデバイス14
は、SIPセッションに参加できる(先に挙げられたような)如何なるタイプのコ
ンポーネントであってもよい。
FIG. 1 illustrates a first system 10 suitable for carrying out an illustrative embodiment of the invention.
Draw a block diagram of. User device that allows users to communicate via SIP 1
Use 2. The user device 12 may be a computer system or a cellular phone or an intelligent pager or a personal digital assistant (PDA) or (
(More generally) any electronic device capable of participating in a SIP session.
The second user also uses the user device 14. User device 14
May be any type of component (as listed above) that can participate in a SIP session.

【0013】 図1では、SIP代理サーバ16が使用される。SIP代理サーバ16は、他のクラ
イアントの代わりにリクエストを作成するために、サーバおよびクライアントと
して動作する中間プログラムである。SIP代理サーバ16は、専用サーバコンピ
ュータシステム上で実行してもよいし、または、共有コンピュータシステム上で
実行されてもよい。リクエストは、SIP代理サーバ16によって処理されるか、
または、(変換後に)他のサーバへ送られる。SIPサーバ16は、リクエストを
解釈し、かつ、該リクエストを送る前に(必要ならば)書き直す。電話サービス
論理を履行するために、多数のサーブレット22が、SIP代理サーバ16に常駐
してもよい。サーバレットマネージャ20もSIP代理サーバ16に常駐する。サ
ーブレットマネージャ20は、メッセージを受信することと「どのサーブレット
22が該メッセージを処理すべきか」ということを決定することとに対して責任
を負う。
In FIG. 1, the SIP proxy server 16 is used. SIP proxy server 16 is an intermediate program that acts as a server and client to make requests on behalf of other clients. SIP proxy server 16 may run on a dedicated server computer system or may run on a shared computer system. The request is processed by the SIP proxy server 16, or
Or it is sent (after conversion) to another server. The SIP server 16 interprets the request and rewrites (if necessary) before sending the request. Multiple servlets 22 may reside on the SIP proxy server 16 to implement the telephone service logic. The serverlet manager 20 also resides in the SIP proxy server 16. The servlet manager 20 is responsible for receiving the message and determining "which servlet 22 should process the message."

【0014】 図1のシステム10はまた、ユーザーエージェントサーバ18を具備する。ユ
ーザーエージェントサーバ18は、SIPリクエストが受信されるときにユーザー
デバイス14のユーザーに連絡するサーバアプリケーションである。加えて、ユ
ーザーエージェントサーバ18は、ユーザーデバイス14のユーザーの代わりに
応答を返す。応答は、リクエストを、受容するかまたは拒絶するかまたはリダイ
レクトする。ユーザーエージェントサーバ18はまた、関連するサーブレットマ
ネージャ24およびサーブレット26を有してもよい。
The system 10 of FIG. 1 also includes a user agent server 18. User agent server 18 is a server application that contacts the user of user device 14 when a SIP request is received. In addition, the user agent server 18 returns a response on behalf of the user of the user device 14. The response accepts, rejects, or redirects the request. User agent server 18 may also have an associated servlet manager 24 and servlet 26.

【0015】 図2は、本発明の実例となる実施形態を実行するための他のシステム28を示
す。このシステム28は、ユーザーデバイス30および32を具備する。「シス
テム28が、代理サーバ16よりもむしろ、リダイレクトサーバ34を使用する
」という点においてシステム28はシステム10と異なる。リダイレクトサーバ
34はサーバであり、該サーバは、SIPリクエストを受容し、かつ、該SIPリクエ
ストにおいて先に定めされたアドレスを新たなアドレスへマッピングし、かつ、
このアドレスをクライアントへ返す。SIPサーバ16と異なり、リダイレクトサ
ーバ34は自分自身のSIPリクエストを開始せず、かつ、ユーザーエージェント
サーバ18とは対照的に、リダイレクトサーバ34は呼を受容しない。SIPリダ
イレクトサーバ34は、関連するサーブレットマネージャ36およびサーブレッ
ト38を有する。
FIG. 2 illustrates another system 28 for implementing the illustrative embodiment of the present invention. The system 28 comprises user devices 30 and 32. System 28 differs from system 10 in that "system 28 uses redirect server 34, rather than proxy server 16." The redirect server 34 is a server, which accepts the SIP request and maps the address previously defined in the SIP request to a new address, and
Return this address to the client. Unlike SIP server 16, redirect server 34 does not initiate its own SIP request, and, in contrast to user agent server 18, redirect server 34 does not accept calls. SIP redirect server 34 has an associated servlet manager 36 and servlet 38.

【0016】 実例となる実施形態によって提供されるSIPサーブレットAPIの詳細を議論する
前に、サーブレットがどのようにして使用されるのかを手短にレビューすること
は有用である。図3は、サーブレットを使用して実行されるステップの概観のフ
ローチャートを提供する。一般に、サーブレットは、サーバのうちの1つにおい
て提供される(図3のステップ40)。電話サービス論理を履行するために、サ
ーブレットが、単体でまたは他のサーブレットと共に、実行される(図3のステ
ップ42)。電話サービス論理は、電話システムにおいて履行される多数の異な
るタイプの呼処理アプローチのうちの何れを具備してもよい。
Before discussing the details of the SIP Servlet API provided by the illustrative embodiment, it is helpful to briefly review how the servlet is used. FIG. 3 provides a flow chart outlining the steps performed using a servlet. Generally, the servlet is provided at one of the servers (step 40 in Figure 3). The servlet is executed alone or with other servlets to implement the telephone service logic (step 42 of FIG. 3). Telephone service logic may comprise any of a number of different types of call processing approaches implemented in telephone systems.

【0017】 図4は、呼スクリーニングを実現するために実行されるステップを図解するフ
ローチャートである。最初に、サーバは、セッションを開始するためのINVITEリ
クエスト(即ち「送信勧誘」)を受信する(図4のステップ44)。INVITEリク
エストは、セッション(即ち「呼」)を開始することを希望する発呼者を識別す
るセルラー情報を含む。発呼者情報は、サーブレットによって書き留められる(
図4のステップ46)。発呼者情報に基づいて、サーブレットは「呼をスクリー
ニングするか否か」と「呼をどのようにしてスクリーニングするか」とを判断す
る(図4のステップ48)。サーブレットは、呼をスクリーニングするために適
切な方法を識別するデータベースまたは他の情報供給源にアクセスしてもよい。
データベース内の情報は、例えば、「呼がブロックされるべき」ということ、ま
たは、「呼がオペレータへリダイレクトされるべき」ということ、または、「呼
が音声メールプラットフォームへ送られるべき」ということ、または、「呼が待
ち行列内に置かれるべき」ということをサーバに知らせてもよい。
FIG. 4 is a flow chart illustrating the steps performed to implement call screening. First, the server receives an INVITE request (ie, "invitation") to initiate a session (step 44 in Figure 4). The INVITE request includes cellular information that identifies the calling party who wants to initiate a session (or "call"). Caller information is written down by the servlet (
Step 46 of FIG. 4). Based on the caller information, the servlet determines "whether to screen the call" and "how to screen the call" (step 48 in FIG. 4). The servlet may access a database or other source of information that identifies the appropriate method for screening the call.
The information in the database may be, for example, "call should be blocked" or "call should be redirected to operator" or "call should be sent to voicemail platform". Alternatively, it may inform the server that the call should be placed in a queue.

【0018】 図5は、呼送信を履行するために実行されるステップを図解するフローチャー
トである。最初に、サーブレットは、INVITEリクエストを受信する(図5のステ
ップ50)。サーブレットは、呼処理情報を取得するために、データベースまた
は他の情報供給源にアクセスする。この場合、呼処理情報は「呼が送信されるべ
き」ということを識別する。そのような場合、サーブレットは「呼が送信されな
くてはならない」ということを書き留める(図5のステップ52)。そして、IN
VITEリクエストは、適切な行先へ送られる(図5のステップ56)。
FIG. 5 is a flow chart illustrating the steps performed to complete a call transmission. First, the servlet receives an INVITE request (step 50 in Figure 5). The servlet accesses a database or other source of information to obtain call processing information. In this case, the call processing information identifies that "the call should be sent". In such a case, the servlet notes that "the call must be sent" (step 52 in Figure 5). And in
The VITE request is sent to the appropriate destination (step 56 in Figure 5).

【0019】 発呼者がSIP呼を作成することを希望するとき、該発呼者は、最初にサーバの
位置を突き止め、かつ、SIPリクエストを該サーバへ送る。最も一般的なリクエ
ストはINVITEリクエストである。SIPリクエストは、リダイレクトされてもよく
、または、代理による新たなSIPリクエストの列を引き起こしてもよい。ユーザ
ーは、該ユーザーの位置をSIPサーバに登録できる。ユーザーは、ホストに配置
され、かつ、SIP URL(Uniform Resource Locators)によって識別される。SIP
URLは、user@hostの形式をとる。ここで、ユーザー部分はユーザー名または電
話番号であり、かつ、ホスト部分はドメイン名または数値ネットワークアドレス
である。
When a caller wants to make a SIP call, the caller first locates the server and sends a SIP request to the server. The most common request is the INVITE request. The SIP request may be redirected or may trigger a string of new SIP requests by the proxy. The user can register his location in the SIP server. Users are located on hosts and are identified by SIP URLs (Uniform Resource Locators). SIP
The URL takes the form of user @ host. Here, the user part is a user name or a telephone number, and the host part is a domain name or a numerical network address.

【0020】 上述されたように、各SIPメッセージは、リクエストまたは応答の何れかであ
る。これらのメッセージは、一般的なメッセージ書式を使用する。該書式は、RF
C 822. D.Crocker“Standard For The Format Of ARPA Internet Text Messages
,”Request For Comments 822, Internet Engineering Task Force, August 198
2に定めされている。該一般的なメッセージ書式は、スタートラインと、1また
は2以上のヘッダフィールドと、エンプティラインとを具備する。該エンプティ
ラインは、ヘッダフィールドと随意のメッセージ本体との終了を示す。
As mentioned above, each SIP message is either a request or a response. These messages use a common message format. The format is RF
C 822. D. Crocker “Standard For The Format Of ARPA Internet Text Messages
, ”Request For Comments 822, Internet Engineering Task Force, August 198
It is specified in 2. The general message format comprises a start line, one or more header fields, and an empty line. The empty line indicates the end of the header field and the optional message body.

【0021】 実例となる実施形態は、SipServlet APIの中心的な抽出として機能するSipSer
vletアブストラクトベースオブジェクトクラス(abstract base object class)
を定義する。このアブストラクトベースクラスは、GenericServiceオブジェクト
クラスを拡張する。GenericServiceオブジェクトクラスは、サーブレットインタ
ーフェースを履行する。SipServletクラスは、全てのSIPリクエストを処理する
ためのデフォルトの方法を定義する。この方法は、各リクエストをデマルチプレ
クスし、かつ、サーブレットの適切な時に適切な方法を呼び出すことに対して責
任を負う。SipServletアブストラクトベースクラスは、所定のタイプのSIPリク
エストを処理するための追加の方法を定義する。これらの方法は、SIPリクエス
トを処理するためのサービス方法(即ち、サーブレットマネージャ)によって自
動的に呼び出される。SipServletオブジェクトクラスのオブジェクトは、2つの
パッケージ(javax.servletまたはservlet.sip)をサポートする。javax.servle
tパッケージは、Palo Alto CaliforniaのSun Microsystems, Inc(登録商標)に
よって定義されるパッケージである。「パッケージ」は、機能によってオブジェ
クトのクラスをグループ分けする。「クラス」は、データと該データに関して動
作する方法との集合である。各パッケージは、多数のインターフェースをグルー
プ分けする。「インターフェース」は、アブストラクトベースクラスに類似して
おり、かつ、インターフェースをサポートするためにオブジェクトによって履行
されなくてはならない方法およびアトリビュートのシグネチャーを提供する。
The illustrative embodiment is a SipSer that serves as the central extractor for the SipServlet API.
vlet abstract base object class
Is defined. This abstract base class extends the GenericService object class. GenericService object class implements the servlet interface. The SipServlet class defines a default method for handling all SIP requests. This method is responsible for demultiplexing each request and invoking the appropriate method at the servlet's appropriate time. The SipServlet abstract base class defines additional methods for handling SIP requests of a given type. These methods are automatically invoked by the service method (ie, servlet manager) for handling SIP requests. Objects of the SipServlet object class support two packages (javax.servlet or servlet.sip). javax.servle
The t package is a package defined by Sun Microsystems, Inc. of Palo Alto California. A "package" groups object classes by function. A "class" is a collection of data and methods that operate on that data. Each package groups a number of interfaces. An "interface" is similar to an abstract base class and provides a signature of methods and attributes that must be implemented by an object to support the interface.

【0022】 servlet.sipパッケージは、以下の通りに定義される。 interface SipServletRequest interface SipServletResponse interface SipSession interface SipBindingListener class SipServlet class URI class SessionDescription class MediaDescription class SipUtils[0022]   The servlet.sip package is defined as follows.   interface SipServletRequest   interface SipServletResponse   interface SipSession   interface SipBindingListener   class SipServlet   class URI   class SessionDescription   class MediaDescription   class SipUtils

【0023】 上に見ることができるように、servlet.sipパッケージは、4つのインターフ
ェース(SipServletRequestインターフェースとSipServletResponseインターフ
ェースとSipSessionインターフェースとSipBindingListenerインターフェースと
)を具備する。これらのインターフェースは、より詳細に、以下に記述される。
加えて、servlet.sipパッケージは、5つのオブジェクトクラス(SipServletオ
ブジェクトクラスとURIオブジェクトクラスとSessionDescriptionオブジェクト
クラスとMediaDescriptionオブジェクトクラスとSipUtilsオブジェクトクラスと
)を指定する。SipServletオブジェクトクラスは、先に記述された。URIオブジ
ェクトクラスは、SIPユニフォーム資源識別子に関する情報を封入するオブジェ
クトである。SessionDescriptionオブジェクトクラスは、所定のセッションに関
するアトリビュートおよび方法を保持し、かつ、MediaDescriptionオブジェクト
クラスは、SIP呼の間にサーバによってサポートされるメディアに関するアトリ
ビュートおよび方法を保持する。最後に、SipUtilsオブジェクトクラスは、多数
のユーティリティを具備するオブジェクトクラスである。
As can be seen above, the servlet.sip package comprises four interfaces: SipServletRequest interface, SipServletResponse interface, SipSession interface and SipBindingListener interface. These interfaces are described in more detail below.
In addition, the servlet.sip package specifies five object classes (SipServlet object class, URI object class, SessionDescription object class, MediaDescription object class, and SipUtils object class). The SipServlet object class was previously described. The URI object class is an object that encloses information about SIP uniform resource identifiers. The SessionDescription object class holds attributes and methods for a given session, and the MediaDescription object class holds attributes and methods for media supported by the server during a SIP call. Finally, the SipUtils object class is an object class that contains a number of utilities.

【0024】 SipServletRequestインターフェースは、より正式には、以下の通りに定義さ
れる。 public String getAuthType(); public String getCallId(); public long getDateHeader(String name); public String getHeader(String name); public Enumeration getHeaderNames(); public int getIntHeader(String name); public String getMethod(); public String getPathInfo(); public String getPathTranslated(); public String getQueryString(); public String getRemoteUser(); public String getRequestedSessionID(); public String getRequestURI(); public String getServletPath(); public SipSession getSession(boolean create); public SipSession getSession(); public boolean isRequestedSessionIdValid();
More formally, the SipServletRequest interface is defined as follows. public String getAuthType (); public String getCallId (); public long getDateHeader (String name); public String getHeader (String name); public Enumeration getHeaderNames (); public int getIntHeader (String name); public String getMethod (); public String getPathInfo (); public String getPathTranslated (); public String getQueryString (); public String getRemoteUser (); public String getRequestedSessionID (); public String getRequestURI (); public String getServletPath (); public SipSession getSession (boolean create); public SipSession getSession (); public boolean isRequestedSessionIdValid ();

【0025】 SipServletRequestインターフェースは、クライアントリクエスト情報をサー
ブレットへ提供するために、オブジェクトを定義する。getAuthType方法は、批
准タイプ情報を、リクエストヘッダから取得する。SIPは、多数の異なる批准オ
プションをサポートする。getCallId方法は、callIDを、リクエストヘッダから
取得する。callIDは、呼の唯一の識別子である。getDateHeader方法は、日付ヘ
ッダフィールドを、リクエストから取得する。getHeader方法は、該方法に対す
るパラメータとして指定されるヘッダを取得する。getHeaderNames方法は、所与
のリクエストにおいて、ヘッダの名前を取得する。getIntHeader方法は、整数ヘ
ッダを取得する。getMethod方法は、方法を取得する。getPathInfoは、SIP URL
または他の経路情報を検索する。getPathTranslatedは、移動された経路に対す
る経路情報に関するパラメータを取得する。getQueryString方法は、照会ストリ
ングを取得し、かつ、getRemoteUserは、遠隔ユーザー(即ち、発呼者)に関す
る情報を取得する。getRequestedSessionID方法は、セッションIDを、リクエ
ストから検索する。getRequestURIは、リクエストURIを取得し、かつ、getServl
etPath方法は、サーブレットへの経路を検索する。getSession方法は、既存のセ
ッションを返すか、または、「セッションが未だ生成されていない」ということ
を示す値を返しかつセッションを生成する。isRequestedSessionIdValid方法は
「セッションIDが有効であるか否か」ということを示すブール値を返す。
The SipServletRequest interface defines an object for providing client request information to a servlet. The getAuthType method acquires ratification type information from the request header. SIP supports a number of different ratification options. The getCallId method acquires the callID from the request header. callID is the unique identifier of the call. The getDateHeader method fetches the date header field from the request. The getHeader method gets the header specified as a parameter to the method. The getHeaderNames method gets the names of the headers in a given request. The getIntHeader method gets an integer header. The getMethod method gets the method. getPathInfo is a SIP URL
Or search for other route information. getPathTranslated obtains a parameter regarding route information for the moved route. The getQueryString method gets the query string and getRemoteUser gets the information about the remote user (ie, the caller). The getRequestedSessionID method retrieves the session ID from the request. getRequestURI gets the request URI, and getServl
The etPath method finds the route to the servlet. The getSession method either returns an existing session, or returns a value indicating that the session has not yet been created and creates the session. The isRequestedSessionIdValid method returns a Boolean value indicating "whether the session ID is valid".

【0026】 SipServletResponseインターフェースは、javax.servletパッケージのServlet
Responseインターフェースを拡張する。SipServletResponseインターフェースは
、以下の通りに定義される。 public static final int SC_TRYING; public static final int SC_RINGING; public static final int SC_CALL_BEGIN_FORWARDED; public static final int SC_CALL_QUEUED; public static final int SC_OK; public static final int SC_MULTIPLE_CHOICES; public static final int SC_MOVED_PERMANENTLY; public static final int SC_MOVED_TEMPORARILY; public static final int SC_SEE_OTHER; public static final int SC_USE_PROXY; public static final int SC_ALTERNATIVE_SERVICE; public static final int SC_BAD_REQUEST; public static final int SC_UNAUTHORIZED; public static final int SC_PAYMENT_REQUIRED; public static final int SC_BAD_FORBIDDERN; public static final int SC_NOT_FOUND; public static final int SC_METHOD_NOT_ALLOWED; public static final int SC_PROXY_AUTHENTICATION_REQUIRED; public static final int SC_REQUEST_TIMEOUT; public static final int SC_CONFLICT; public static final int SC_GONE; public static final int SC_LENGTH_REQUIRED; public static final int SC_REQUEST_URI_TOO_LARGE; public static final int SC_REQUEST_ENTITY_TOO_LONG; public static final int SC_UNSUPPORTED_MEDIA_TYPE; public static final int SC_BAD_EXTENSION; public static final int SC_TEMPORARLY_UNABAILABLE; public static final int SC_CALL_LEG_DNE; public static final int SC_LOOP_DETECTED; public static final int SC_TOO_MANY_HOPS; public static final int SC_ADRESS_INCOMPLETE public static final int SC_AMBIGUOUS; public static final int SC_BUSY_HERE; public static final int SC_SERVER_INTERNAL_ERROR; public static final int SC_NOT_IMPLEMENTED; public static final int SC_BAD_GATEWAY; public static final int SC_SERVICE_UNAVAILABLE; public static final int SC_GATEWAY_TIMEOUT; public static final int SC_VERSION_NOT_SUPPORTED: public static final int SC_BUSY_EVERYWHERE; public static final int SC_DECLINE; public static final int SC_DOES_NOT_EXIT_ANYWHERE; public static final int SC_NOT_ACCEPTABLE; public boolean containsHeader(String name); public void sendError(int sc, String mesg) throws IOException; public void sendError(int sc) throws IOException; public void sendRedirect(String location) throws IOException; public void setDateHeader(String name, long date); public void setHeader(String name, String value); public void setIntHeader(String name, int value); public void setStatus(int sc); public void setStatus(int sc, String sm);
The SipServletResponse interface is the Servlet of the javax.servlet package.
Extend the Response interface. SipServletResponse interface is defined as follows. public static final int SC_TRYING; public static final int SC_RINGING; public static final int SC_CALL_BEGIN_FORWARDED; public static final int SC_CALL_QUEUED; public static final int SC_OK; public static final int SC_MULTIPLE_CHOICES; public static final int SC_MOVED_PERMANENTLY_ARI staticMOVED_PERMANENTLY; public static final int final int SC_SEE_OTHER; public static final int SC_USE_PROXY; public static final int SC_ALTERNATIVE_SERVICE; public static final int SC_BAD_REQUEST; public static final int SC_UNAUTHORIZED; public static final int SC_PAYMENT_REQUIRED; public static final int SC_BAD_FORBIDDER_ publicNOT final SC_METHOD_NOT_ALLOWED; public static final int SC_PROXY_AUTHENTICATION_REQUIRED; public static final int SC_REQUEST_TIMEOUT; public static final int SC_CONFLICT; public static final int SC_GONE; public static final int SC_LENGTH_REQUIRED; public static final int SC_REQUEST_URI_TOO_public_R EQUEST_ENTITY_TOO_LONG; public static final int SC_UNSUPPORTED_MEDIA_TYPE; public static final int SC_BAD_EXTENSION; public static final int SC_TEMPORARLY_UNABAILABLE; public static final int SC_CALL_LEG_static_public final SCOP static final int SC_BUSY_HERE; public static final int SC_SERVER_INTERNAL_ERROR; public static final int SC_NOT_IMPLEMENTED; public static final int SC_BAD_GATEWAY; public static final int SC_SERVICE_UNAVAILABLE; public static final int SC_GATEWAY_TIMEOUT; public static final int SC_VERSION_static_NOT_SUPPORTED int SC_DECLINE; public static final int SC_DOES_NOT_EXIT_ANYWHERE; public static final int SC_NOT_ACCEPTABLE; public boolean containsHeader (String name); public void sendError (int sc, String mesg) throws IOException; public void sendError (int sc) throws IOException; public void sendRedirect (String location) throws IOException; public void setDateHeader (String name, long date); public void setHeader (String name, String value); public void setIntHeader (String name, int value); public void setStatus ( int sc); public void setStatus (int sc, String sm);

【0027】 上に挙げられたように、インターフェースは、多数の定数(即ち、変化しない
最終的な変数)の定義を具備する。これらの定数は、SIP仕様以内に定義される
ステータスコードに対応する。
As listed above, the interface comprises a definition of a number of constants (ie, final variables that do not change). These constants correspond to status codes defined within the SIP specification.

【0028】 SipServletResponseインターフェースはまた、多数の方法を具備する。contai
nsHeader方法は「応答がヘッダを具備するか否か」ということを指定するブール
値を返す。複数のsendError方法が、エラーアラームを生成するために、定義さ
れる。入力パラメータは、ストリングフォーマット内に、ステータスコードのみ
を具備してもよく、または、ステータスコードとメッセージとを具備してもよい
。sendRedirect方法は、例外がリダイレクトされることを引き起こし、かつ、応
答がリダイレクトされるべき場所を指定する。setDateHeader方法は、日付ヘッ
ダのための値を確立し、かつ、setHeader方法は、所定の名前を付けられたヘッ
ダのための値を確立する。setIntHeader方法は、整数ヘッダのための値を設定す
る。setStatus方法は、ステータスコードを設定し、かつ、ステータスメッセー
ジを指定するストリングの追加パラメータを具備してもよい。
The SipServletResponse interface also comprises a number of methods. contai
The nsHeader method returns a Boolean value that specifies "whether the response has a header". Multiple sendError methods are defined to generate error alarms. The input parameters may comprise only the status code or the status code and message in string format. The sendRedirect method causes the exception to be redirected and specifies where the response should be redirected. The setDateHeader method establishes a value for a date header, and the setHeader method establishes a value for a given named header. The setIntHeader method sets the value for the integer header. The setStatus method may comprise an additional parameter of the string that sets the status code and specifies the status message.

【0029】 SipSessionインターフェースは、以下の方法を具備する。 public long getCreationTime(); public String getId(); public long getLastAccessedTime(); public int getMaxInactiveInterval(); public Object getValue(String name); public String [] getValueNames(); public void invalidate(); public boolean isNew(); public void putValue(String name, Object value); public void removeValue(String name); public void setMaxInactiveInterval(int interval);[0029]   The SipSession interface has the following methods.   public long getCreationTime ();   public String getId ();   public long getLastAccessedTime ();   public int getMaxInactiveInterval ();   public Object getValue (String name);   public String [] getValueNames ();   public void invalidate ();   public boolean isNew ();   public void putValue (String name, Object value);   public void removeValue (String name);   public void setMaxInactiveInterval (int interval);

【0030】 getCreationTime方法は、セッションのための生成時間を返す。生成時間情報
は、セッション記述オブジェクトから検索される。getId方法は、セッションI
Dを返す。getLastAccessedTime方法は、セッションがアクセスされた最後の時
間に関する情報を返す。getMaxInactiveInterval方法は、セッションがインアク
ティブだった最も長い時間期間を返す。getValue方法は、所与の名前を付けられ
たアトリビュートのための値を返す。getValueNames方法は、セッション記述オ
ブジェクト内の値の名前を返す。invalidate方法はセッションを無効にし、かつ
、isNew方法は「セッションが新たに生成されたか否か」ということを指定する
ブール値を返す。putValue方法は、所与のアトリビュートのための値を確立する
。removeValue方法は値を除去し、かつ、setMaxInactiveInterval方法は、最大
インアクティブ間隔アトリビュートのための値を確立する。
The getCreationTime method returns the creation time for the session. Generation time information is retrieved from the session description object. getId method is session I
Returns D. The getLastAccessedTime method returns information about the last time the session was accessed. The getMaxInactiveInterval method returns the longest period of time the session has been inactive. The getValue method returns the value for a given named attribute. The getValueNames method returns the names of the values in the session description object. The invalidate method invalidates the session, and the isNew method returns a Boolean value specifying "whether the session was newly created". The putValue method establishes a value for a given attribute. The removeValue method removes the value and the setMaxInactiveInterval method establishes the value for the maximum inactive interval attribute.

【0031】 SipSessionBindingListenerインターフェースは、以下の通りに、正式に定義
される。 public void valueBound(SipSessionBindingEvent event); public void valueUnbound(SipSessionBindingEvent event
The SipSessionBindingListener interface is formally defined as follows. public void valueBound (SipSessionBindingEvent event); public void valueUnbound (SipSessionBindingEvent event

【0032】 SipSessionBindingListenerインターフェースは、javax.servletパッケージの
EventListenerインターフェースを拡張する。このインターフェースは、主に、
オブジェクトがセッションへ向かうときまたはセッションから来るときに、該オ
ブジェクトが通知されることを引き起こす。
The SipSessionBindingListener interface is in the javax.servlet package.
Extend the EventListener interface. This interface is mainly
Causes an object to be notified when it comes to or comes from a session.

【0033】 上述されたように、サーブレットSIPパッケージは、多数のオブジェクトを具
備する。SIPサーブレットオブジェクトは、より正式には、以下の通りに定義さ
れる。 public SipServlet(); protected void doInvite(SipServletRequest req, SipServletResponse resp
) throws ServletException, IOException; protected long getLastModified(SipServletRequest req); protected void doAck(SipServletRequest req, SipServletResponse resp) t
hrows ServletException, IOException; protected void doBye(SipServletRequest req, SipServletResponse resp) t
hrows ServletException, IOException; protected void doCancel(SipServletRequest req, SipServletResponse resp
) throws ServletException, IOException; protected void doRegister(SipServletRequest req, SipServletResponse re
sp) throws ServletException, IOException; protected void doOptions(SipServletRequest req, SipServletResponse res
p) throws ServletException, IOException; protected void service(SipServletRequest req, SipServletResponse resp) throws ServletException, IOException; public void service(SipServletRequest req, SipServletResponse resp) th
rows ServletException, IOException;
As mentioned above, the Servlet SIP Package comprises a number of objects. The SIP Servlet object is more formally defined as: public SipServlet (); protected void doInvite (SipServletRequest req, SipServletResponse resp
) throws ServletException, IOException; protected long getLastModified (SipServletRequest req); protected void doAck (SipServletRequest req, SipServletResponse resp) t
hrows ServletException, IOException; protected void doBye (SipServletRequest req, SipServletResponse resp) t
hrows ServletException, IOException; protected void doCancel (SipServletRequest req, SipServletResponse resp
) throws ServletException, IOException; protected void doRegister (SipServletRequest req, SipServletResponse re
sp) throws ServletException, IOException; protected void doOptions (SipServletRequest req, SipServletResponse res
p) throws ServletException, IOException; protected void service (SipServletRequest req, SipServletResponse resp) throws ServletException, IOException; public void service (SipServletRequest req, SipServletResponse resp) th
rows ServletException, IOException;

【0034】 このオブジェクトは、個々のタイプのリクエストを取り扱うための多数の方法
を有する。例えば、doInvite方法は、INVITEリクエストを取り扱うために使用さ
れる。同様の方法が、ACKとBYEとCANCELとREGISTERとOPTIONとのリクエストに対
しても提供される。サービスリクエストは、上に記述されたようなデフォルトサ
ービスを提供する。
This object has a number of ways to handle individual types of requests. For example, the doInvite method is used to handle INVITE requests. Similar methods are provided for ACK, BYE, CANCEL, REGISTER and OPTION requests. The service request provides the default service as described above.

【0035】 MediaDescriptionオブジェクトは、以下の通りに定義される。 public class MediaDescription protected String name; protected String address; protected String title; protected String connectionInfo; protected String bandwidthInfo; protected String encriptionKey; protected String duration; protected String mediaAttributes; public MediaDescription();[0035]   The MediaDescription object is defined as follows.   public class MediaDescription   protected String name;   protected String address;   protected String title;   protected String connectionInfo;   protected String bandwidthInfo;   protected String encriptionKey;   protected String duration;   protected String mediaAttributes;   public MediaDescription ();

【0036】 MediaDescriptionオブジェクトは、メディアに対する名前とアドレスとタイト
ルアトリビュートとを含む。加えて、接続情報と帯域幅情報とがそこに含まれる
。encriptionKeyは、メディア記述オブジェクト内に具備されてもよく、かつ、
メディア内に含まれる情報の継続期間を指定するduration情報もまた具備されて
もよい。MediaAttributesがそこに含まれてもよい。
The MediaDescription object contains the name, address and title attributes for the media. In addition, connection information and bandwidth information are included therein. The encriptionKey may be included in the media description object, and
Duration information specifying the duration of the information contained in the media may also be included. Media Attributes may be included there.

【0037】 SessionDescriptionオブジェクトクラスは、以下の通りに定義される。 public class SessionDescription protected String version; protected String owner; protected String name; protected String sessionInfo; protected String URI; protected String email; protected String phone; protected String connectionInfo; protected String bandwidthInfo; protected Vector sessionAttrib; protected String duration; protected String schedule; public SessionDescription();[0037]   SessionDescription object class is defined as follows.   public class SessionDescription   protected String version;   protected String owner;   protected String name;   protected String sessionInfo;   protected String URI;   protected String email;   protected String phone;   protected String connectionInfo;   protected String bandwidthInfo;   protected Vector sessionAttrib;   protected String duration;   protected String schedule;   public SessionDescription ();

【0038】 セッション記述オブジェクトは、所定のセッションに関する記述情報を保持す
る。アトリビュートは、バージョンアトリビュートと所有者アトリビュートと名
前アトリビュートとを具備する。アトリビュートはまた、セッション情報とURI
とを判断する。電子メール情報および電話情報もまた、アトリビュートとして記
憶されてもよい。接続情報および帯域幅情報もまた、アトリビュートとして含ま
れてもよい。継続期間およびスケジュール情報もまた、アトリビュートとして含
まれてもよく、かつ、セッションアトリビュートのベクトルもまた、そこに含ま
れてもよい。
The session description object holds description information about a given session. Attributes include version attributes, owner attributes, and name attributes. Attributes are also session information and URI
To judge. Email information and phone information may also be stored as attributes. Connection information and bandwidth information may also be included as attributes. Duration and schedule information may also be included as attributes, and a vector of session attributes may also be included therein.

【0039】 本発明の実例となる実施形態を参照して本発明が記述されたが、「形状および
詳細における様々な変更が、特許請求の範囲において定義されたような意図され
る範囲から離れることなしになされてもよい」ということを当業者は理解するで
あろう。
Although the present invention has been described with reference to illustrative embodiments of the invention, “various changes in shape and detail depart from the intended scope as defined in the claims. One of ordinary skill in the art will understand that "can be done without."

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の実例となる実施形態を実行するのに適切な第1システム
のブロック図である。
FIG. 1 is a block diagram of a first system suitable for implementing an illustrative embodiment of the invention.

【図2】 本発明の実例となる実施形態を実行するのに適切な第2システム
のブロック図である。
FIG. 2 is a block diagram of a second system suitable for carrying out an illustrative embodiment of the invention.

【図3】 本発明の実例となる実施形態において、電話サービス論理を履行
するために実行される一般的なステップを図解するフローチャートである。
FIG. 3 is a flow chart illustrating the general steps performed to implement telephone service logic in an illustrative embodiment of the invention.

【図4】 本発明の実例となる実施形態において、呼スクリーニングを履行
するために実行されるステップを図解するフローチャートである。
FIG. 4 is a flow chart illustrating steps performed to implement call screening in an illustrative embodiment of the invention.

【図5】 本発明の実例となる実施形態において、呼送信を履行するために
実行されるステップを図解するフローチャートである。
FIG. 5 is a flow chart illustrating steps performed to effect call transmission in an illustrative embodiment of the invention.

【符号の説明】[Explanation of symbols]

12,14……ユーザーデバイス 16……SIP代理サーバ 18……ユーザーエージェントサーバ 20,24……サーブレットマネージャ 22,26……サーブレット 30,32……ユーザーデバイス 34……SIPリダイレクトサーバ 36……サーブレットマネージャ 38……サーブレット   12, 14 ... User device   16 ... SIP proxy server   18 ... User agent server   20, 24 ... Servlet manager   22, 26 ... Servlet   30, 32 ... User device   34 ... SIP redirect server   36 ... Servlet manager   38 ... Servlet

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,UZ,VN, YU,ZA,ZW─────────────────────────────────────────────────── ─── Continued front page    (81) Designated countries EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, I T, LU, MC, NL, PT, SE, TR), OA (BF , BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, G M, KE, LS, MW, MZ, SD, SL, SZ, TZ , UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, B Z, CA, CH, CN, CR, CU, CZ, DE, DK , DM, DZ, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, J P, KE, KG, KP, KR, KZ, LC, LK, LR , LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ, NO, NZ, PL, PT, R O, RU, SD, SE, SG, SI, SK, SL, TJ , TM, TR, TT, TZ, UA, UG, UZ, VN, YU, ZA, ZW

Claims (25)

【特許請求の範囲】[Claims] 【請求項1】 データ処理装置における方法であって、 セッション開始プロトコル(SIP)サーブレットを提供するステップと、 電話サービス論理を履行するために、SIPサーブレットを実行するステップと を具備する ことを特徴とする方法。1. A method in a data processing apparatus, comprising:   Providing a Session Initiation Protocol (SIP) Servlet,   Steps to execute a SIP Servlet to implement the telephone service logic   To have   A method characterized by the following. 【請求項2】 データ処理装置がSIPサーバである ことを特徴とする請求項1記載の方法。2. The data processing device is a SIP server   The method according to claim 1, wherein: 【請求項3】 電話サービス論理の一部として、SIPサーブレットがSIPメッ
セージを調査する ことを特徴とする請求項1記載の方法。
3. The method of claim 1, wherein a SIP Servlet inspects SIP messages as part of the telephone service logic.
【請求項4】 電話サービス論理の一部として、SIPサーブレットがSIP送信
勧誘を処理する ことを特徴とする請求項1記載の方法。
4. The method of claim 1, wherein a SIP Servlet handles SIP invitations as part of the telephone service logic.
【請求項5】 電話サービス論理の一部として、SIPサーブレットがSIPリク
エストを処理する ことを特徴とする請求項1記載の方法。
5. The method of claim 1, wherein a SIP Servlet handles SIP requests as part of the telephone service logic.
【請求項6】 電話サービス論理の一部として、SIPサーブレットがSIP応答
を処理する ことを特徴とする請求項1記載の方法。
6. The method of claim 1, wherein a SIP Servlet handles the SIP response as part of the telephone service logic.
【請求項7】 データ処理装置が、インターネットプロトコル(IP)をサ
ポートするネットワークの一部である ことを特徴とする請求項1記載の方法。
7. The method of claim 1, wherein the data processing device is part of a network supporting Internet Protocol (IP).
【請求項8】 データ処理装置がインターネットの一部である ことを特徴とする請求項1記載の方法。8. The data processing device is part of the Internet.   The method according to claim 1, wherein: 【請求項9】 電話サービス論理が呼送信論理である ことを特徴とする請求項1記載の方法。9. The telephone service logic is call transmission logic.   The method according to claim 1, wherein: 【請求項10】 電話サービス論理が呼スクリーニング論理である ことを特徴とする請求項1記載の方法。10. The telephone service logic is call screening logic.   The method according to claim 1, wherein: 【請求項11】 コンピューティング環境における方法であって、 サーブレットを提供するステップと、 サーブレットを管理するサーブレットマネージャを提供するステップと、 セッション開始プロトコル(SIP)に従う通信を受信するステップと、 サーブレットのうちの選択された1つが通信を処理すべきことを、サーブレッ
トマネージャを伴って判断するステップと、 選択されたサーブレットとの通信を処理するステップと を具備する ことを特徴とする方法。
11. A method in a computing environment, comprising: providing a servlet; providing a servlet manager to manage the servlet; receiving communication according to Session Initiation Protocol (SIP); A method comprising: determining with a servlet manager that one of the selected ones should handle communication; and processing the communication with the selected servlet.
【請求項12】 通信を処理するステップが、通信を行先へ送ることを具備
する ことを特徴とする請求項11記載の方法。
12. The method of claim 11, wherein the step of processing the communication comprises sending the communication to a destination.
【請求項13】 通信を処理するステップが、通信を変更することを具備す
る ことを特徴とする請求項11記載の方法。
13. The method of claim 11, wherein the step of processing the communication comprises modifying the communication.
【請求項14】 通信を処理するステップが、SIPリクエストを取り扱うこ
とを具備する ことを特徴とする請求項11記載の方法。
14. The method of claim 11, wherein the step of processing the communication comprises handling a SIP request.
【請求項15】 通信を処理するステップが、SIP応答を取り扱うことを具
備する ことを特徴とする請求項11記載の方法。
15. The method of claim 11, wherein the step of processing the communication comprises handling a SIP response.
【請求項16】 セッション開始プロトコル(SIP)サーブレットを提供す
るステップと、 電話サービス論理を履行するために、SIPサーブレットを実行するステップと を具備する方法を実行するために、データ処理装置による実行のための命令を
保持する ことを特徴とする媒体。
16. A method of performing by a data processing device to perform a method comprising: providing a Session Initiation Protocol (SIP) Servlet; and executing a SIP Servlet to implement telephone service logic. A medium characterized by holding instructions for.
【請求項17】 電話サービス論理の一部として、SIPサーブレットがSIPメ
ッセージを調査する ことを特徴とする請求項16記載の媒体。
17. The medium of claim 16, wherein the SIP Servlet inspects SIP messages as part of the telephone service logic.
【請求項18】 電話サービス論理の一部として、SIPサーブレットがSIPリ
クエストを処理する ことを特徴とする請求項16記載の媒体。
18. The medium of claim 16, wherein a SIP Servlet handles SIP requests as part of the telephone service logic.
【請求項19】 電話サービス論理が呼送信論理である ことを特徴とする請求項16記載の媒体。19. The telephone service logic is call transmission logic.   The medium according to claim 16, characterized in that 【請求項20】 電話サービス論理が呼スクリーニング論理である ことを特徴とする請求項16記載の媒体。20. The telephone service logic is call screening logic.   The medium according to claim 16, characterized in that 【請求項21】 セッション開始プロトコル(SIP)メッセージを受信する
インターフェースと、 電話サービス論理を履行するためにSIPメッセージを取り扱うサーブレットと を具備する ことを特徴とする電子装置。
21. An electronic device comprising an interface for receiving Session Initiation Protocol (SIP) messages and a servlet for handling SIP messages to implement telephone service logic.
【請求項22】 前記装置がコンピュータシステムである ことを特徴とする請求項21記載の装置。22. The device is a computer system.   22. The device according to claim 21, characterized in that 【請求項23】 追加の電話サービス論理を提供する追加のサーブレット を更に具備する ことを特徴とする請求項21記載の装置。23. Additional servlets to provide additional telephony service logic   Is further equipped with   22. The device according to claim 21, characterized in that 【請求項24】 前記装置が追加のSIPメッセージをを受信し、かつ、前記
装置が、追加のSIPメッセージを処理する追加のサーブレットを更に具備する ことを特徴とする請求項21記載の装置。
24. The device of claim 21, wherein the device receives an additional SIP message, and the device further comprises an additional servlet for processing the additional SIP message.
【請求項25】 前記装置が、追加のSIPメッセージの各々に対して、どの
サーブレットが該メッセージを処理すべきかを判断するサーブレットマネージャ
を更に具備する ことを特徴とする請求項24記載の装置。
25. The apparatus of claim 24, wherein the apparatus further comprises, for each additional SIP message, a servlet manager that determines which servlet should process the message.
JP2001547269A 1999-12-08 2000-12-08 Session initiation protocol servlet application programming interface Withdrawn JP2003518352A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US45742899A 1999-12-08 1999-12-08
US09/457,428 1999-12-08
PCT/US2000/042695 WO2001046822A1 (en) 1999-12-08 2000-12-08 Session initiation protocol servlet application programming interface

Publications (1)

Publication Number Publication Date
JP2003518352A true JP2003518352A (en) 2003-06-03

Family

ID=23816689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001547269A Withdrawn JP2003518352A (en) 1999-12-08 2000-12-08 Session initiation protocol servlet application programming interface

Country Status (8)

Country Link
EP (1) EP1240593A1 (en)
JP (1) JP2003518352A (en)
CN (1) CN1433547A (en)
AU (1) AU4714901A (en)
BR (1) BR0016237A (en)
CA (1) CA2395616A1 (en)
MX (1) MXPA02005701A (en)
WO (1) WO2001046822A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949010B2 (en) 2003-09-03 2011-05-24 At&T Intellectual Property Ii, L.P. Telecommunication network system and method in communication services using session initiation protocol

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7113780B2 (en) 1992-03-06 2006-09-26 Aircell, Inc. System for integrating an airborne wireless cellular network with terrestrial wireless cellular networks and the public switched telephone network
US8914022B2 (en) 1992-03-06 2014-12-16 Gogo Llc System for providing high speed communications service in an airborne wireless cellular network
US8145208B2 (en) 2006-10-31 2012-03-27 Gogo Llc Air-to-ground cellular communication network terrestrial base station having multi-dimensional sectors with alternating radio frequency polarizations
US8452276B2 (en) 2000-10-11 2013-05-28 Gogo Llc Differentiated services code point mirroring for wireless communications
WO2002073984A1 (en) 2001-03-09 2002-09-19 Ayman, L.L.C. Universal point of contact identifier system and method
AU2003299301A1 (en) * 2003-12-01 2005-06-24 France Telecom System for providing services in response to a communications session message
US20060047840A1 (en) * 2004-08-31 2006-03-02 Peter Postmus Method and session initiation protocol (SIP) server for the exchange of end-point capabilities
US7532617B2 (en) 2005-02-24 2009-05-12 International Business Machines Corporation Method and apparatus for session initiation protocol application design, development, execution and integration
JP4515358B2 (en) * 2005-08-30 2010-07-28 株式会社エヌ・ティ・ティ・ドコモ Communication control device and communication control method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928323A (en) * 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5944781A (en) * 1996-05-30 1999-08-31 Sun Microsystems, Inc. Persistent executable object system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949010B2 (en) 2003-09-03 2011-05-24 At&T Intellectual Property Ii, L.P. Telecommunication network system and method in communication services using session initiation protocol

Also Published As

Publication number Publication date
AU4714901A (en) 2001-07-03
EP1240593A1 (en) 2002-09-18
BR0016237A (en) 2002-08-27
WO2001046822A1 (en) 2001-06-28
MXPA02005701A (en) 2002-12-13
CA2395616A1 (en) 2001-06-28
CN1433547A (en) 2003-07-30

Similar Documents

Publication Publication Date Title
US9497600B2 (en) Service chaining
US6904140B2 (en) Dynamic user state dependent processing
US7849190B2 (en) Internet protocol based service architecture
US7299286B2 (en) Personal user agent
US9521169B2 (en) SIP anchor points to populate common communication logs
US8041800B2 (en) Automatic orchestration of dynamic multiple party, multiple media communications
JP2003515968A (en) Depositing and retrieving Internet protocol telephone voice / video messages
US8379544B2 (en) Communications
JP2002544608A (en) A distributed system for establishing intelligent sessions between anonymous users over various networks
JP2008545355A (en) System and method for managing communication sessions in a network
US9723032B2 (en) Data communication
WO2008118658A1 (en) Method and apparatus for management of an application ensemble
JP2003518352A (en) Session initiation protocol servlet application programming interface
MXPA02005700A (en) Telephone fraud detection and prevention.
US20060182130A1 (en) Method and system for establishing an audio/video communication session across zones
US7743149B1 (en) SIP messages carrying executable computer software code
US9008287B2 (en) Data communication
US8488590B2 (en) Method and device using data objects and their replications for carrying out communications in a distributed system
US9049310B2 (en) Data communication
US8938055B2 (en) System and method for establishing data communication using pre-configured user data
CN107852577A (en) A kind of supplementary service implementation method, terminal device and IMS service device
Chentouf et al. Mapping sip onto a feature interaction management language
US20030177242A1 (en) Trigger-based session completion using external parties
JP2005026952A (en) Distributed communication system
WO2001035594A2 (en) Telecommunications control protocol processing

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080304