(58)【調査した分野】(Int.Cl.,DB名)
VoIP通信を行うユーザ端末、VoIP通信の呼制御を行う通信制御装置、着信の通知制御を行う着信制御装置、及び前記ユーザ端末に対する着信通知を送信する着信通知装置を有する通信システムにおいて使用される前記着信制御装置であって、
前記ユーザ端末を宛先とする発信信号を受信した前記通信制御装置から、当該ユーザ端末の識別情報を含み、前記着信制御装置を宛先とする発信信号を受信した場合に、当該識別情報に基づいて、前記ユーザ端末に対する着信通知要求を前記着信通知装置に送信する着信通知要求手段と、
着信通知を受信した前記ユーザ端末から登録信号を受信した場合に、前記ユーザ端末を宛先とする発信信号を送信する発信信号送信手段と
を備えることを特徴とする着信制御装置。
前記ユーザ端末から、前記識別情報と、前記ユーザ端末の認証情報と、前記着信通知装置において前記ユーザ端末を識別するために用いられる端末識別情報とを含む設定情報を受信した場合に、前記認証情報を前記通信制御装置に送信し、当該通信制御装置から当該認証情報に基づく認証結果を受信し、認証に成功している場合に、前記設定情報を記憶部に格納する設定手段
を備えることを特徴とする請求項1に記載の着信制御装置。
VoIP通信を行うユーザ端末、VoIP通信の呼制御を行う通信制御装置、着信の通知制御を行う着信制御装置、及び前記ユーザ端末に対する着信通知を送信する着信通知装置を有する通信システムにおいて使用される前記着信制御装置であって、
前記通信制御装置に対し、当該通信制御装置が前記ユーザ端末を宛先とする発信信号を受信したときに、当該発信信号を受信したことを前記着信制御装置に通知することを要求する手段と、
前記ユーザ端末を宛先とする発信信号を受信した前記通信制御装置から、当該発信信号を受信したことを通知する通知信号を受信した場合に、前記ユーザ端末に対する着信通知要求を前記着信通知装置に送信する着信通知要求手段と
を備えることを特徴とする着信制御装置。
前記ユーザ端末から、当該ユーザ端末の識別情報と、前記着信通知装置において当該ユーザ端末を識別するために用いられる端末識別情報とを含む設定情報を受信し、当該設定情報を記憶部に格納する設定手段を備え、
前記着信通知要求手段は、前記記憶部から、前記通知信号に含まれる前記ユーザ端末の識別情報に対応する前記端末識別情報を取得し、当該端末識別情報を含む前記着信通知要求を前記着信通知装置に送信する
ことを特徴とする請求項4に記載の着信制御装置。
VoIP通信を行うユーザ端末、VoIP通信の呼制御を行う通信制御装置、着信の通知制御を行う着信制御装置、及び前記ユーザ端末に対する着信通知を送信する着信通知装置を有する通信システムにおいて使用される前記着信制御装置が実行する着信制御方法であって、
前記ユーザ端末を宛先とする発信信号を受信した前記通信制御装置から、当該ユーザ端末の識別情報を含み、前記着信制御装置を宛先とする発信信号を受信した場合に、当該識別情報に基づいて、前記ユーザ端末に対する着信通知要求を前記着信通知装置に送信する着信通知要求ステップと、
着信通知を受信した前記ユーザ端末から登録信号を受信した場合に、前記ユーザ端末を宛先とする発信信号を送信する発信信号送信ステップと
を備えることを特徴とする着信制御方法。
VoIP通信を行うユーザ端末、VoIP通信の呼制御を行う通信制御装置、着信の通知制御を行う着信制御装置、及び前記ユーザ端末に対する着信通知を送信する着信通知装置を有する通信システムにおいて使用される前記着信制御装置が実行する着信制御方法であって、
前記通信制御装置に対し、当該通信制御装置が前記ユーザ端末を宛先とする発信信号を受信したときに、当該発信信号を受信したことを前記着信制御装置に通知することを要求するステップと、
前記ユーザ端末を宛先とする発信信号を受信した前記通信制御装置から、当該発信信号を受信したことを通知する通知信号を受信した場合に、前記ユーザ端末に対する着信通知要求を前記着信通知装置に送信する着信通知要求ステップと
を備えることを特徴とする着信制御方法。
VoIP通信を行うユーザ端末、VoIP通信の呼制御を行う通信制御装置、着信の通知制御を行う着信制御装置、及び前記ユーザ端末に対する着信通知を送信する着信通知装置を有する通信システムであって、
前記着信制御装置は、
前記通信制御装置に対し、当該通信制御装置が前記ユーザ端末を宛先とする発信信号を受信したときに、当該発信信号を受信したことを前記着信制御装置に通知することを要求する手段と、
前記ユーザ端末を宛先とする発信信号を受信した前記通信制御装置から、当該発信信号を受信したことを通知する通知信号を受信した場合に、前記ユーザ端末に対する着信通知要求を前記着信通知装置に送信する着信通知要求手段と
を備えることを特徴とする通信システム。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0018】
(実施の形態の概要)
近年、OSの標準的な仕組みによって、インターネット上のサーバからOSが提供するインターネット上のサービスを用いてアプリケーションに情報を通知する仕組みが提供されている。当該サービスを提供するサーバをPushサーバ、通知する仕組みをPush通知機構と呼ぶことにする。
【0019】
Push通知機構では、端末でアプリケーションを立ち上げていなくても、端末(におけるOS)がPushサーバに対して端末のIPアドレスを通知する。結果的にPushサーバはPush通知機構に対応している各端末にインターネット上からメッセージを送信することが可能となる。このPush通知機構では、Pushサーバと端末間にNATがある場合でも、端末にメッセージを送信できる。
【0020】
本実施の形態では、Push通知機構を利用することにより、VoIPアプリを常に立ち上げておく必要性を解消している。また、Push通知機構では、Pushサーバと端末間にNATがある場合でも、NAT越えを行ってメッセージ通知が可能なため、従来技術におけるNAT透過維持のためのバッテリー消費が抑制される。以下、本発明の実施の形態を詳細に説明する。
【0021】
(システム全体構成)
図1に、本発明の実施の形態(第1、第2の実施の形態に共通)に係る通信システムの全体構成図を示す。
図1に示すように、本実施の形態に係る通信システムは、Push着信サーバ10、SIPサーバ20、Pushサーバ30、ユーザ端末100、200が、ネットワーク300に接続された構成を備える。
【0022】
後に詳細に説明するように、第1の実施の形態では、Push着信サーバ10は、SIPサーバ20に対する別のSIPサーバに相当するサーバであり、SIPサーバ20から転送されてきた発信信号(INVITE)を受信したときに、Pushサーバ30に対してPush通知要求を送信する等の機能を備える。また、第2の実施の形態では、Push着信サーバ10はSIPサーバ20に対してイベント登録を行い、SIPサーバ20からイベントを受信した場合に、Pushサーバ30に対してPush通知要求を送信する等の機能を備える。各実施の形態におけるPush着信サーバ10の機能詳細については後述する。
【0023】
SIPサーバ20は、IP電話サービス等で用いられるSIP信号の中継等を行うサーバである。
【0024】
Pushサーバ30は、Push通知サービスにおいて用いられているサーバであり、外部サーバからの要求に基づいて、ユーザ端末にPush通知を行う。なお、Push通知とは、スマートフォン等のユーザ端末において、アプリケーションを起動していなくとも、当該ユーザ端末に通知を送り、例えば、ユーザ端末において、情報表示、アプリケーションの起動等の制御を行うことを可能とする仕組みである。Push通知サービスとしては種々のサービスが提供されているが、本発明を適用できるPush通知サービスは特定のサービスに限定されない。
【0025】
ユーザ端末100、200は、各種アプリケーションを実行できるスマートフォン等の端末である。本実施の形態では、ユーザ端末100、200には、ネットワーク300上でVoIP通信を行うためのアプリケーションを搭載し、当該アプリケーションの機能により、SIP信号による呼接続処理、及び音声通信等を行うことが可能である。ユーザ端末100、200は同じ機能を有するが、本実施の形態では、主にユーザ端末100が着信側、ユーザ端末200が発信側であるとしている。以下、上記のアプリケーションを「VoIPアプリ」と呼ぶ。
【0026】
ネットワーク300は、VoIP通信可能なネットワークであり、例えば、インターネットとプライベートネットワークとがNATを介して接続された構成を有する。
【0027】
なお、SIPサーバ20を通信制御装置と称し、Push着信サーバ10を着信制御装置と称し、Pushサーバ30を着信通知装置と称してもよい。また、電話番号を「識別情報」と称してもよい。
【0028】
(第1の実施の形態)
まず、第1の実施の形態について説明する。ここでは、ユーザ端末100の電話番号を電話番号Aとし、ユーザ端末200の電話番号を電話番号Bとする。また、第1の実施の形態では、SIPサーバ20は、発信元のユーザ端末200から受信した発信信号をPush着信サーバ10に転送する動作を行うが、そのときに宛先とするPush着信サーバ10の電話番号を電話番号Cとする。
【0029】
<動作概要>
図2を参照して、第1の実施の形態において、ユーザ端末200からユーザ端末100に対して着信がなされる際の動作概要を説明する。以下の説明では、着信先のユーザ端末100におけるVoIPアプリが起動していない状態であるとする。より詳細な動作については後にシーケンス図を参照して説明する。
【0030】
ユーザ端末200において、ユーザ端末100に対する発信操作が行われると、宛先として電話番号Aを指定した発信信号(具体的にはINVITE信号)がSIPサーバ20に送信される(ステップS1)。SIPサーバ20において、ユーザ端末100(電話番号A)のREGISTER情報があれば発信信号をユーザ端末100に送信するが、ここでは、REGISTER情報の有効期限が切れており、REGISTER情報がなく、発信信号をユーザ端末100に送信できないと判断する。すると、SIPサーバ20は、Push着信サーバ10(電話番号C)宛てに発信信号を転送する(ステップS2)。
【0031】
発信信号を受信したPush着信サーバ10は、Pushサーバ30に対して、ユーザ端末100へのPush通知を要求するPush通知要求を送信する(ステップS3)。Push通知要求を受信したPushサーバ30は、ユーザ端末100に対してPush通知を行う(ステップS4)。
【0032】
前述したように、ユーザ端末100においてVoIPアプリが起動していないため、Push通知を受信したユーザ端末100は、当該Push通知をトリガとして、VoIPアプリを起動し、当該VoIPアプリの機能により、Push着信サーバ10に接続し、SIPにおける登録(REGISTER)を行う(ステップS5)。
【0033】
Push着信サーバ10は、ステップS2で受信していた、ユーザ端末200を送信元とする発信信号をユーザ端末100に送信する(ステップS6)。発信信号を受信したユーザ端末100は、応答を返し、応答がユーザ端末200に到達する(ステップS7〜S9)。これにより、ユーザ端末100とユーザ端末200との間に音声セッションが確立され、音声通信が行われる。
【0034】
<装置構成>
次に、第1の実施の形態に係るPush着信サーバ10と、ユーザ端末100の機能構成について説明する。後述するように、第2の実施の形態におけるPush着信サーバ10とユーザ端末100のブロック構成自体は第1の実施の形態と同じであるため、ここでは、第2の実施の形態における機能の概要についても説明する。
【0035】
図3に、Push着信サーバ10の機能構成図を示す。
図3に示すように、Push着信サーバ10は、対SIPサーバ通信処理部11、対ユーザ端末通信処理部12、Push通知要求処理部13、設定情報格納部14を有する。なお、
図3は、Push着信サーバ10において本発明の実施の形態に特に関連する機能部のみを示すものである。また、
図3に示す機能構成は一例に過ぎない。本発明の実施の形態で説明する動作を実行できるのであれば、機能区分や機能部の名称はどのようなものでもよい。
【0036】
対SIPサーバ通信処理部11は、SIPサーバ20との間の通信に関わる処理を行う。特に第1の実施の形態では、認証処理、SIP信号の送受信、着信履歴管理等を行う。また、第2の実施の形態では、対SIPサーバ通信処理部11は、イベント登録要求の送信、着信イベントの受信等を行う。
【0037】
対ユーザ端末通信処理部12は、ユーザ端末100との間の通信に関わる処理を行う。特に第1の実施の形態では、対ユーザ端末通信処理部12は、SIP信号の送受信、設定情報の登録処理等を行う。第2の実施の形態では、SIP信号の送受信は行わず、設定情報の登録処理等を行う。
【0038】
Push通知要求処理部13は、第1及び第2の実施の形態において、Pushサーバ30に対するPush通知要求の送信処理、タイマ管理等を行う。また、第1及び第2の実施の形態において、設定情報格納部14には、ユーザ端末100から受信した設定情報や着信履歴が格納される。
【0039】
第1及び第2の実施の形態に係るPush着信サーバ10は、1つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、Push着信サーバ10が有する機能は、当該コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、Push着信サーバ10で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【0040】
図4に、ユーザ端末100の機能構成図を示す。
図4に示すように、ユーザ端末100は、Push通知処理部101、着信設定処理部102、音声通信処理部103を備える。なお、
図4は、ユーザ端末100において本発明の実施の形態に特に関連する機能部のみを示すものである。また、
図4に示す機能構成は一例に過ぎない。本発明の実施の形態で説明する動作を実行できるのであれば、機能区分や機能部の名称はどのようなものでもよい。
【0041】
Push通知処理部101は、Pushサーバ30との間で通信を行って、Push用IDを取得したり、Push通知を受信して、VoIPアプリの起動/着信処理指示等を行う。着信設定処理部102は、Push着信を要求するために、Push着信サーバ10に対して設定情報を送信する等の処理を行う。音声通信処理部103は、Push着信サーバ10/SIPサーバ20との接続、登録処理を含むSIP呼制御、音声通信機能等を含む。
【0042】
ユーザ端末100に関し、上記のような基本的な処理内容に関しては、第1及び第2の実施の形態において同じであるが、詳細な処理内容については異なる。
【0043】
なお、第1の実施の形態(第2の実施の形態も同様)では、Push通知処理部101は、コンピュータの構成を備えるユーザ端末100のOSに含まれる機能であり、着信設定処理部102と音声通信処理部103はVoIPアプリに対応することを想定しているが、このような構成区分に限られるわけではない。例えば、Push通知処理部101、着信設定処理部102、音声通信処理部103がVoIPアプリに対応する機能部であってもよい。
【0044】
第1の実施の形態(第2の実施の形態も同様)に係るユーザ端末100は、コンピュータ(携帯電話機やスマートフォン等を含む)に、本発明の実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、ユーザ端末100が有する機能は、当該コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、ユーザ端末100で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【0045】
<通信システムの動作例>
次に、第1の実施の形態における各種の動作例をシーケンス図等を参照しながら説明する。なお、以下で示すシーケンスは、処理内容を分かり易く示すために、実際の信号のやりとりの中の主要なやりとりを示すものである。
【0046】
<<準備手順>>
図5を参照して、第1の実施の形態においてPush通知による着信を可能とするための準備手順を説明する。
【0047】
まず、例えば、ユーザ端末100において最初にVoIPアプリを起動する(もしくはインストールする)タイミングで、ユーザ端末100はPushサーバ30にアクセスし、Pushサーバ30からPush用IDを受信し、メモリ等に記憶手段に格納する(ステップS101)。当該Push用IDは、Pushサーバ30において、ユーザ端末100(VoIPアプリ)を識別可能なIDであり、Pushサーバ30は、当該Push用IDを含むPush通知要求を受信した場合に、当該Push用IDに対応するユーザ装置100にPush通知を送ることができる。Push通知は、Pushサーバ30とユーザ端末100間にNATが存在するネットワークでも送信できる仕組みになっている。Push用IDは、ユーザ端末100を識別するIDであるから、端末識別情報と称してもよい。
【0048】
次に、ユーザ端末100は、Push着信要求としての設定情報をPush着信サーバ10に送信する(ステップS102)。設定情報には、電話番号A、ユーザID、パスワード、及びステップS101で取得したPush用IDが含まれる。ユーザIDは「SIP−ID」と呼んでもよい。
【0049】
上記の電話番号A、ユーザID、及びパスワードは、例えばユーザがIP電話サービスを利用する際に、サービス提供側から割り当てられたものである。すなわち、VoIPアプリを起動しているユーザ端末100は、当該電話番号A、ユーザID、及びパスワードを用いてSIPサーバ20を介した通常の発信、着信、通話を行うことができる。本実施の形態では、SIPサーバ20がこれらの情報を保持しており、SIPサーバ20は、ユーザID、及びパスワードによりユーザ端末100の認証を行うことが可能である。なお、ユーザID、及びパスワードを認証情報と称してもよい。
【0050】
設定情報を受信したPush着信サーバ10は、SIPサーバ20に対して、ステップS102で受信した電話番号A、ユーザID、パスワードを含むREGISTER信号を送信する(ステップS103)。このREGISTER信号の送信は、SIPサーバ20にユーザ端末100の認証を行わせるためのものである。従って、Push着信サーバ10は、ステップS103において、電話番号A、ユーザID、及びパスワードを、SIP信号以外の信号で送信してもよい。また、送信する情報に電話番号Aを含まないこととしてもよい。
【0051】
REGISTER信号を受信したSIPサーバ20は、受信したユーザIDとパスワードが、登録されているユーザIDとパスワードと同じかどうかをチェックすることで、ユーザ端末100の認証を行う(ステップS104)。
【0052】
ステップS104での認証に成功したものとすると、SIPサーバ20は、正常であることを示す応答をPush着信サーバ10に送信する(ステップS105)。Push着信サーバ10は、この正常応答を受信したことにより、ステップS102で受信した設定情報は正しいものであると判断し、電話番号A、ユーザID、パスワード、及びPush用IDを設定情報格納部14に格納する。そして、Push着信サーバ10は、設定情報を正常に格納したことを示す応答をユーザ端末100に送信する(ステップS106)。
【0053】
ステップS104での認証に失敗した場合、SIPサーバ20は、認証に失敗したことを示す応答をPush着信サーバ10に送信し、Push着信サーバ10は、この失敗応答を受信したことにより、ステップS102で受信した設定情報は正しくないものであると判断し、設定情報の格納を行わずに、格納に失敗したことを示す応答をユーザ端末100に送信する。
【0054】
<<着信時の手順>>
次に、
図6を参照して、第1の実施の形態においてユーザ端末200からユーザ端末100への着信が行われる場合の手順を説明する。
図6の前提として、
図5に示した準備手順が既に行われているものとする。また、SIPサーバ20において、以下で説明する動作を実行する機能(プログラム等)が備えられているもとする。
図6には、右側に、ユーザ端末100の状態が示されており、そこに示すように、最初はユーザ端末100においてVoIPアプリは起動していない。
【0055】
発信側のユーザ端末200において、ユーザ端末100の電話番号Aを入力し、発信ボタンを押下する等の発信操作が行われることで、ユーザ端末200からINVITE信号が送信される(ステップS201)。
【0056】
INVITE信号を受信したSIPサーバ20において、ユーザ端末100のREGISTER情報(電話番号AとIPアドレスの対応情報)があれば、SIPサーバ20は、当該情報に基づいてユーザ端末100宛てに当該INVITE信号を送信する動作を実行する。しかし、INVITE信号を送信できたとしても現時点でユーザ端末100におけるVoIPアプリが未起動であるため、ユーザ端末100はINVITE信号を解釈できず、応答を返さない。また、ユーザ端末100のREGISTER情報がない場合、SIPサーバ20は、ユーザ端末100宛てに当該INVITE信号を送信する動作を行わない(行うことができない)。
【0057】
本例では、SIPサーバ20は、上記のように、INVITE信号を送信しても所定時間以上応答がない、もしくは、INVITE信号をユーザ端末100宛てに送信できないことを検出する。この事象を検出したSIPサーバ20は、当該INVITE信号をPush着信サーバ10に転送する(ステップS202)。ここでは、SIPサーバ20は、INVITE信号の宛先(to)を電話番号Aから電話番号Cに変換し、宛先が電話番号Cとなった当該INVITE信号を送信する。
【0058】
当該INVITE信号には、最終的な宛先は電話番号Aであることを示す情報が含まれる。例えば、INVITE信号の中に、上記電話番号Cの他に、明示的に、「宛先:電話番号A」の情報を含める。
【0059】
このように明示的に「宛先:電話番号A」を含めることの他、電話番号Cを電話番号Aと対応付けられた電話番号として設定することとしてもよい。この場合は、暗黙的にINVITE信号の中に「宛先:電話番号A」が含まれている。この場合、例えば、外部のサーバに、ユーザ端末の電話番号と、当該電話番号に対応付けられたPush着信サーバ10の電話番号とを登録しておき、SIPサーバ20は、INVITE信号をユーザ端末に送信できない場合に、当該サーバから、当該ユーザ端末に対応するPush着信サーバ10の電話番号を取得し、当該電話番号を宛先としてINVITE信号を送信する。この方式において、Push着信サーバ10では、INVITE信号の宛先の電話番号に対応するユーザ端末の電話番号を上記サーバから取得して、Push通知要求送信等にために使用する。
【0060】
また、電話番号Cとして、宛先の電話番号(ここでは電話番号A)に、予め定められたプレフィックスを付加した電話番号を用いてもよい。例えば、「Prefix+050−A」のような電話番号を用いる。この場合、当該プレフィックスの付いた電話番号を宛先とするINVITE信号は、Push着信サーバ10に転送される。
【0061】
当該プレフィックス付きの電話番号を宛先とするINVITE信号を受信したPush着信サーバ10は、宛先となっている電話番号からプレフィックスを除くことで、最終的な宛先のユーザ端末100の電話番号Aを取得できる。
【0062】
なお、INVITE信号には、宛先の電話番号Cとともに、発信元の電話番号Bも含まれている。
【0063】
ステップS202によりINVITE信号を受信したPush着信サーバ10は、上述した方法でINVITE信号から当初の宛先である電話番号Aを取得し、当該電話番号A(ユーザ端末100)へのPush通知を要求するPush通知要求をPushサーバ30に送信する(ステップS203)。このPush要求通知には、設定情報格納部14から抽出した電話番号Aに対応するPush用IDと、発信元の電話番号Bと、Push着信サーバ10のIPアドレスと、Push着信サーバ10が着信(INVITE信号)を受けた時刻(Push着信サーバ着信時刻と呼ぶ)が含まれる。ただし、Push用ID以外は、含めることは必須ではなく、Push用IDのみでも着信を行うことは可能である。本例では、全て含むものとする。
【0064】
一方、ステップS202でINVITE信号を受信したPush着信サーバ10は、100trying応答をSIPサーバ20に返し、100trying応答はユーザ端末200に送られる(ステップ221、222)。
【0065】
ただし、100trying応答では、着信側のユーザ端末100でVoIPアプリが起動して着信処理を開始するまでの間、発信側のユーザ端末200は無音となる。そこで、ステップS221、S222において括弧内に示したように、100trying応答に代えて、180ringing応答送信、ガイダンス送信の制御等を行うこととしてもよい。180ringing応答、ガイダンス等を送信することで、発信側のユーザ端末200のユーザは、発信後、すぐに呼び出し音等を聞くことができ、無音状態を回避できる。
【0066】
ステップS203でPush通知要求を受信したPushサーバ30は、Push通知要求に含まれるPush用IDに対応する宛先であるユーザ端末100にPush通知を送信する(ステップS204)。本例では、Push通知には、電話番号Bと、Push着信サーバ10のIPアドレスと、Push着信サーバ着信時刻が含まれる。
【0067】
Push通知を受信したユーザ端末100では、当該Push通知をトリガとしてVoIPアプリが起動する。そして、ユーザ装置100は、Push着信サーバ10と接続し(TCP接続)、REGISTER信号(電話番号A、ユーザID、パスワード含む)を送信する(ステップS205)。ユーザ端末100から見てPush着信サーバ10はSIPサーバの役割を持ち、上記REGISTERの処理により、Push着信サーバ10には、ユーザ端末100への宛先IPアドレスと電話番号Aとが対応付けて格納され、ユーザ端末100宛てのINVITE信号のユーザ端末100への転送が可能になる。
【0068】
上記の処理において、ユーザ端末100は、Push通知に含まれる電話番号B(あるいは電話番号Bに対応する名前)を表示することで、誰から着信があったのかを知ることができる。また、ユーザ端末100は、Push通知に含まれるPush着信サーバ10のIPアドレスをPush着信サーバ10への接続に使用する。これにより、アドレス解決等の処理を省くことができ、迅速にPush着信サーバ10への接続を行うことができる。
【0069】
また、ユーザ端末100は、Push通知に含まれるPush着信サーバ着信時刻と、現在時刻とを比較し、Push着信サーバ着信時刻が現在時刻よりも所定の閾値時間以上前である場合には、Push着信サーバ10への接続を行わない(着信動作を行わない)こととしてもよい。Pushサーバ30の状態によっては、Push通知のユーザ端末100への送信が遅れる可能性があり、大きくPush通知が遅れた場合には、発信側は発信を中止している可能性が高いためである。
【0070】
ステップS205でREGISTER信号を受信したPush着信サーバ10は、REGISTER信号に含まれるユーザIDとパスワードと、既に格納してある設定情報とを照合することで、ユーザ端末100の認証を行う(ステップS206)。なお、ユーザ端末100から受信したREGISTER信号をSIPサーバ20に転送することで、SIPサーバ20に認証を行わせることも可能であるが、
図6に示すとおり、Push着信サーバ10が認証を行うこととすることで、SIPサーバ20に対するREGISTER信号の送信量を抑制することが可能となる。
【0071】
図6に示す例では、ステップS206の認証に成功する。Push着信サーバ10は、正当であると判定されたユーザ端末100に対して、INVITE信号を送信する(ステップS207)。ここでは、Push着信サーバ10は、ステップS202で受信したINVITE信号における宛先を電話番号Cから電話番号Aに変換し、当該変換後のINVITE信号をユーザ端末100に送信する。なお、もしもステップS206の認証が失敗した場合は、着信失敗となり、例えば、ユーザ端末200に対してエラー、もしくはガイダンスが送られる。
【0072】
INVITE信号を受信したユーザ端末100は、180ringing応答を返す(ステップS208)。180ringing応答は、Push着信サーバ10及びSIPサーバ20を経由して発信元のユーザ端末200に送信される。これにより、着信側で着信音が鳴動するとともに、発信側では呼び出し音が聞こえる。なお、ユーザ端末200に対してガイダンスが流されてもよい。
【0073】
ユーザ端末100において、着信ボタンが押下される(=受話器をとる)と、200 OKが返される(ステップS211〜S213)。これによりユーザ端末100とユーザ端末200との間で音声セッションが確立し、音声通信が行われる(ステップS214)。
【0074】
<<Push通知後にタイムアウトが生じる場合の手順>>
続いて、Push通知後にタイムアウトが生じる場合の手順を
図7のシーケンス図を参照して説明する。
【0075】
Pushサーバ30からユーザ端末100に対してPush通知が送信された場合でも、例えばユーザ端末100が圏外であるとか、電源断になっている場合等においては、ユーザ端末100はPush通知を受信しないので、VoIPアプリの起動や着信処理が行われない。
【0076】
つまり、
図7に示すように、ユーザ端末200から発信があり、INVITE信号がPush着信サーバ10に送信され(ステップS301、S302)、Push通知要求がPushサーバ30に送信され(ステップS303)、Push通知がユーザ端末100に送信される(ステップS304)。しかし、上記の圏外や電源断の状況では、VoIPアプリが起動せず、ユーザ端末100からPush着信サーバ10に対して何らの信号も返されない。このような状況では、ユーザ端末200において無音(あるいは呼び出し音、ガイダンス)が長い時間継続されてしまう。
【0077】
このような状況を想定し、Push着信サーバ10は、ユーザ端末100へのPush通知を要求するPush通知要求を送信してからの所定の時間長を計測するタイマを備える。Push着信サーバ10は、Push通知要求を送信してから、ユーザ端末100からREGISTER信号等の信号を受信せずにタイマが満了した場合(
図7のステップS305)に、エラー応答の送信、ガイダンスを流す制御等を行う(ステップS306、S307)。また、着信に関わるセッションを解放する。これにより、発信側では、着信ができないことを知ることができる。
【0078】
なお、上記のタイムアウト処理は、前述したように、Pushサーバ30からユーザ端末100へのPush通知の送信が遅れた場合にも適用できる。
【0079】
また、上記のように、ユーザ端末100が圏外等にあり、Push通知が届かない場合、着信があったもののユーザ端末100には着信履歴が残らない。このような状況を想定し、本実施の形態では、Push着信サーバ10が着信履歴を格納する。そして、例えば、ユーザ端末100におけるVoIPアプリの起動時に、ユーザ端末100がPush着信サーバ10に着信履歴を要求し、Push着信サーバ10は、要求に応じて着信履歴をユーザ端末100(VoIPアプリ)に送信する。Push着信サーバ10から着信履歴を受信したユーザ端末100は、当該着信履歴のうち、ユーザ端末100に格納されていない着信履歴のみを追加で格納する。
【0080】
<<着信拒否の手順>>
これまでに説明したとおり、Push通知を利用することで、ユーザ端末100におけるVoIPアプリの起動の有無に関わらず着信が可能である。従って、例えば、VoIPアプリを起動しないことで着信を受けないようにする、といったことができない。そこで、本実施の形態では、
図8に示す手順で、着信拒否を行うことを可能としている。
【0081】
まず、ユーザ端末100から着信拒否設定情報をPush着信サーバ10に送信する(ステップS400)。Push着信サーバ10は着信拒否設定情報を設定情報格納部14に格納する。着信拒否設定情報は、例えば、どの番号からの着信を何時から何時まで拒否するかを示す着信拒否時間・着信拒否番号情報である。
【0082】
Push着信サーバ10が着信を受けると(ステップS401、S402)、発信元の番号及び現在時刻と着信拒否設定情報とを照合することで、当該着信が着信拒否の対象かどうかを判定する。本例では、着信拒否の対象であるものとし、Push着信サーバ10は着信拒否を決定する(ステップS403)。着信拒否を決定したPush着信サーバ10は、Push通知要求を送信せず、エラー応答、ガイダンス等を送信する制御を行う(ステップS404、S405)。
【0083】
なお、これまでは着信を説明したが、発信については、Push着信サーバ10を経由することなく、通常通りにSIPサーバ20を介して行うことができる。また、発信についても、Push着信サーバ10を経由して行うこととしてもよい。例えば、発信時、ユーザ端末100は、Push着信サーバ10にREGISTER信号を送信してREGISTERを行った後、INVITE信号をPush着信サーバ10経由でSIPサーバ20に送信することで、発信を行うことが可能である。
【0084】
また、第1の実施の形態におけるPush着信サーバ10は制御信号(SIP信号等)だけを送受信可能とし、音声信号を送受信しないこととしてもよいし、音声信号も送受信可能に構成してもよい。Push着信サーバ10が音声信号を送受信する場合は、Push着信サーバ10〜ユーザ端末100間において音声コーデック及びptime(パケット送信間隔)等についてPush着信サーバ10〜SIPサーバ20とは異なる情報に対応することが可能である。これによって、SIPサーバ20の開発・変更なしにPush着信サーバ10〜ユーザ端末100における音声コーデックに関わる追加、修正が可能となる。
【0085】
(第2の実施の形態)
次に、第2の実施の形態について説明する。ここでも、ユーザ端末100の電話番号を電話番号Aとし、ユーザ端末200の電話番号を電話番号Bとする。また、Push着信サーバ10の電話番号を電話番号Cとする。第2の実施の形態では、Push着信サーバ10は、制御信号(SIP信号)と音声信号のいずれも終端しない。第2の実施の形態における通信システムの全体構成は第1の実施の形態と同じであり、
図1に示したとおりである。また、第2の実施の形態におけるPush着信サーバ10とユーザ端末100のブロック構成は第1の実施の形態と同じであり、
図3、
図4に示したとおりである。ただし、第2の実施の形態における各装置の動作は第1の実施の形態と異なる部分がある。以下では、基本的に、第1の実施の形態と異なる処理を詳細に説明する。第1の実施の形態と同じ処理については簡単に説明する。
【0086】
<動作概要>
図9を参照して、第2の実施の形態において、ユーザ端末200からユーザ端末100に対して着信がなされる際の動作概要を説明する。以下の説明では、着信先のユーザ端末100においてVoIPアプリはインストールされ、電話番号A、ユーザID、パスワードが設定され、SIPサーバ20を介した通常の着信、発信、通話を実行できることが確認されている。ただし、
図9に示す処理では、最初にVoIPアプリは起動していないものとする。
【0087】
ユーザ端末200において、ユーザ端末100に対する発信操作が行われると、宛先として電話番号Aを指定した発信信号(具体的にはINVITE信号)がSIPサーバ20に送信される(ステップS11)。SIPサーバ20において、ユーザ端末100(電話番号A)のREGISTER情報があれば発信信号をユーザ端末100に送信するが、ここでは、REGISTER情報の有効期限が切れており、REGISTER情報がなく、発信信号をユーザ端末100に送信できないと判断する。すると、SIPサーバ20は、Push着信サーバ10(電話番号C)に着信イベントを送信する(ステップS12)。この着信イベントには、電話番号B(ユーザ端末200)を発信元とし、電話番号A(ユーザ端末100)を宛先とする発信がなされていることを示す情報が含まれる。つまり、着信イベントには「発信元:電話番号B、宛先:電話番号A」の情報が含まれる。
【0088】
着信イベントを受信したPush着信サーバ10は、電話番号A(ユーザ端末100)への着信があることを認識し、Pushサーバ30に対して、ユーザ端末100へのPush通知を要求するPush通知要求を送信する(ステップS13)。Push通知要求を受信したPushサーバ30は、ユーザ端末100に対してPush通知を行う(ステップS14)。
【0089】
ユーザ端末100においてVoIPアプリが起動していないため、Push通知を受信したユーザ端末100は、当該Push通知をトリガとして、VoIPアプリを起動し、当該VoIPアプリの機能により、SIPサーバ20に接続し、SIPにおける登録(REGISTER)を行う(ステップS15)。
【0090】
SIPサーバ20は、ステップS11で受信していた、ユーザ端末200を送信元とする発信信号をユーザ端末100に送信する(ステップS16)。発信信号を受信したユーザ端末100は、応答を返し、応答がユーザ端末200に到達する(ステップS17〜S18)。これにより、ユーザ端末100とユーザ端末200との間に音声セッションが確立され、音声通信が行われる。
【0091】
<通信システムの動作例>
次に、第2の実施の形態における動作例をシーケンス図を参照しながら説明する。なお、以下で示すシーケンスは、処理内容を分かり易く示すために、実際の信号のやりとりの中の主要なやりとりを示すものである。
【0092】
<<準備手順>>
図10を参照して、第2の実施の形態におけるPush通知による着信を可能とするための準備手順を説明する。
【0093】
まず、例えば、ユーザ端末100において最初にVoIPアプリを起動する(もしくはインストールする)タイミングで、ユーザ端末100はPushサーバ30にアクセスし、Pushサーバ30からPush用IDを受信し、メモリ等に記憶手段に格納する(ステップS501)。
【0094】
次に、ユーザ端末100は、Push着信要求としての設定情報をPush着信サーバ10に送信する(ステップS502)。設定情報には、電話番号A、SIPサーバ20の識別情報(例:SIPサーバ20のFQDN)、ステップS501で取得したPush用IDが含まれる。当該設定情報は設定情報格納部14に格納される。
【0095】
設定情報を受信したPush着信サーバ10は、SIPサーバ20の識別情報を利用して、SIPサーバ20に対して、電話番号Aに関わるイベント登録要求を送信する(ステップS503)。このイベント登録要求は、SIPサーバ20に対して、電話番号Aを宛先とする発信信号を受信した場合に、Push着信サーバ10(電話番号C)に対して通知(イベント情報の送信)を行うことを要求する信号である。
【0096】
イベント登録要求の信号としてSIP信号を用いる場合、例えば、電話番号Aへの発信を受けた場合にイベント通知(NOTIFY)を行うことを要求するSUBSCRIBEリクエストを使用することができる。なお、イベント登録要求の信号はSIP信号である必要はなく、どのような信号でもよい。
【0097】
イベント登録要求を受信したSIPサーバ20は、受信したイベント登録要求に基づき、イベント("電話番号A宛ての発信信号を受信"を示す情報を含む)を登録(格納)する(ステップS504)。SIPサーバ20は、正常に登録できたことを示す応答をPush着信サーバ10に送信する(ステップS505)。また、Push着信サーバ10は、正常に登録できたことを示す応答をユーザ端末100に送信することとしてもよい(ステップS506)。
【0098】
<<着信時の手順>>
次に、
図11を参照して、ユーザ端末200からユーザ端末100への着信が行われる場合の手順を説明する。
図11の前提として、
図10に示した準備手順が既に行われているものとする。第1の実施の形態と同様に、
図11には、右側に、ユーザ端末100の状態が示されており、そこに示すように、最初はユーザ端末100においてVoIPアプリは起動していない。
【0099】
発信側のユーザ端末200において、ユーザ端末100の電話番号Aを入力し、発信ボタンを押下する等の発信操作が行われることで、ユーザ端末200からINVITE信号が送信される(ステップS601)。
【0100】
INVITE信号を受信したSIPサーバ20において、ユーザ端末100のREGISTER情報(電話番号AとIPアドレスの対応情報)があれば、SIPサーバ20は、当該情報に基づいてユーザ端末100宛てに当該INVITE信号を送信する動作を実行する。しかし、INVITE信号を送信しても、現時点でユーザ端末100におけるVoIPアプリが未起動であるため、ユーザ端末100はINVITE信号を解釈できず、応答を返さない。また、ユーザ端末100のREGISTER情報がない場合、SIPサーバ20は、ユーザ端末100宛てに当該INVITE信号を送信する動作を行わない(行うことができない)。
【0101】
本例では、SIPサーバ20は、上記のように、INVITE信号を送信しても所定時間以上応答がない、もしくは、INVITE信号をユーザ端末100宛てに送信できないことを検出する。この事象を検出したSIPサーバ20は、着信イベントをPush着信サーバ10に送信する(ステップS602)。
【0102】
上記の着信イベントの信号には、電話番号B(ユーザ端末200)を発信元とし、電話番号A(ユーザ端末100)を宛先とする発信があったこと(=SIPサーバ20がINVITE信号を受信したこと)を示す情報が含まれている。前述したイベント登録要求がSUBSCRIBEである場合、当該着信イベントの信号は、NOTIFYである。なお、着信イベントの信号はSIP信号でなくてもよい。
【0103】
ステップS602により着信イベントを受信したPush着信サーバ10は、着信イベントから、宛先である電話番号Aを取得し、当該電話番号A(ユーザ端末100)へのPush通知を要求するPush通知要求をPushサーバ30に送信する(ステップS603)。このPush要求通知には、設定情報格納部14から抽出した電話番号Aに対応するPush用IDと、発信元の電話番号Bと、Push着信サーバ着信時刻が含まれる。ただし、Push用ID以外は、含めることは必須ではなく、Push用IDのみでも着信を行うことは可能である。本例では、全て含むものとする。
【0104】
一方、ステップS602でINVITE信号を受信したPush着信サーバ10は、100trying応答をSIPサーバ20に返し、100trying応答はユーザ端末200に送られる(ステップ621、622)。
【0105】
ただし、100trying応答では、着信側のユーザ端末100でVoIPアプリが起動して着信処理を開始するまでの間、発信側のユーザ端末200は無音となる。そこで、ステップ621、622において括弧内に示したように、100trying応答に代えて、180ringing応答送信、ガイダンス送信の制御等を行うこととしてもよい。
【0106】
また、
図11の例では、Push着信サーバ10から100trying応答を送信しているが、Push着信サーバ10は100trying応答を送信せず、SIPサーバ20が100trying応答を送信することとしてもよい。
【0107】
ステップS603でPush通知要求を受信したPushサーバ30は、Push通知要求に含まれるPush用IDに対応する宛先であるユーザ端末100にPush通知を送信する(ステップS604)。本例では、Push通知には、電話番号Bと、Push着信サーバ着信時刻が含まれる。
【0108】
Push通知を受信したユーザ端末100では、当該Push通知をトリガとしてVoIPアプリが起動する。そして、ユーザ装置100は、SIPサーバ20と接続し、REGISTER信号(電話番号A、ユーザID、パスワード含む)を送信する(ステップS605)。
【0109】
上記の処理において、ユーザ端末100は、Push通知に含まれる電話番号B(あるいは電話番号Bに対応する名前)を表示することで、誰から着信があったのかを知ることができる。
【0110】
また、ユーザ端末100は、Push通知に含まれるPush着信サーバ着信時刻と、現在時刻とを比較し、Push着信サーバ着信時刻が現在時刻よりも所定の閾値時間以上前である場合には、SIPサーバ20への接続を行わない(着信動作を行わない)こととしてもよい。
【0111】
ステップS605でREGISTER信号を受信したSIPサーバ20は、ユーザ端末100に対して、INVITE信号を送信する(ステップS606)。SIPサーバ20は、ステップS601で受信したINVITE信号を保持しており、ステップS606でユーザ端末100に送信する。
【0112】
INVITE信号を受信したユーザ端末100は、180ringing応答を返す(ステップS607)。180ringing応答は、SIPサーバ20を経由して発信元のユーザ端末200に送信される(ステップS608)。これにより、着信側で着信音が鳴動するとともに、発信側では呼び出し音が聞こえる。なお、ユーザ端末200に対してガイダンスが流されてもよい。
【0113】
ユーザ端末100において、着信ボタンが押下される(=受話器をとる)と、200 OKが返される(ステップS609〜S610)。これによりユーザ端末100とユーザ端末200との間で音声セッションが確立し、音声通信が行われる(ステップS611)。
【0114】
第2の実施の形態においても、第1の実施の形態(
図8)と同様にして、Pushサーバ10により着信拒否を行うことが可能である。また、
図7に示したタイムアウト処理については、SIPサーバ20がタイムアウトを検知することで実施することが可能である。
【0115】
なお、第2の実施の形態において、Push着信サーバ10の機能をSIPサーバ20内に備えることとしてもよい。この場合、SIPサーバ20が着信イベントを検知すると、SIPサーバ20がPush通知要求をPushサーバ30に送信する。Push着信サーバ10の機能をSIPサーバ20内に備える場合、SIPサーバ20を「Push着信サーバ」と称してもよい。
【0116】
ただし、実際のシステムでは、多数のSIPサーバ20が設置される。SIPサーバ20とPush着信サーバ10を別々の装置とすることで、多数のSIPサーバ20のそれぞれにPush着信サーバ10の機能を入れる改造をすることなく、Push着信に係る処理をPush着信サーバ10に集約することができる。
【0117】
以上、第1、第2の実施の形態を説明したが、課題を解決するための手法として、Push着信サーバ10が、ユーザ端末100に成り代わって、ユーザ端末100のREGISTER信号をSIPサーバ20に送信する方式も考えられる。この方式でも、課題を解決できる。この方式では、Push着信サーバ10がユーザ端末毎のREGISTER信号をSIPサーバ20に定期的に送信するが、第1、第2の実施の形態では、このようなREGISTER信号の定期的送信を行う必要はない。
【0118】
(実施の形態のまとめ)
以上、説明したように、本実施の形態によれば、VoIP通信を行うユーザ端末、VoIP通信の呼制御を行う通信制御装置、着信の通知制御を行う着信制御装置、及び前記ユーザ端末に対する着信通知を送信する着信通知装置を有する通信システムにおいて使用される前記着信制御装置であって、前記ユーザ端末を宛先とする発信信号を受信した前記通信制御装置から、当該ユーザ端末の識別情報を含み、前記着信制御装置を宛先とする発信信号を受信した場合に、当該識別情報に基づいて、前記ユーザ端末に対する着信通知要求を前記着信通知装置に送信する着信通知要求手段と、着信通知を受信した前記ユーザ端末から登録信号を受信した場合に、前記ユーザ端末を宛先とする発信信号を送信する発信信号送信手段とを備える着信制御装置が提供される。
【0119】
上記の着信制御装置は、前記ユーザ端末から、前記識別情報と、前記ユーザ端末の認証情報と、前記着信通知装置において前記ユーザ端末を識別するために用いられる端末識別情報とを含む設定情報を受信した場合に、前記認証情報を前記通信制御装置に送信し、当該通信制御装置から当該認証情報に基づく認証結果を受信し、認証に成功している場合に、前記設定情報を記憶部に格納する設定手段を備えてもよい。
【0120】
前記着信通知要求手段は、前記記憶部から、前記識別情報に対応する前記端末識別情報を取得し、当該端末識別情報を含む前記着信通知要求を前記着信通知装置に送信することとしてもよい。
【0121】
また、本実施の形態によれば、VoIP通信を行うユーザ端末、VoIP通信の呼制御を行う通信制御装置、着信の通知制御を行う着信制御装置、及び前記ユーザ端末に対する着信通知を送信する着信通知装置を有する通信システムにおいて使用される前記着信制御装置であって、前記通信制御装置に対し、当該通信制御装置が前記ユーザ端末を宛先とする発信信号を受信したときに、当該発信信号を受信したことを前記着信制御装置に通知することを要求する手段と、前記ユーザ端末を宛先とする発信信号を受信した前記通信制御装置から、当該発信信号を受信したことを通知する通知信号を受信した場合に、前記ユーザ端末に対する着信通知要求を前記着信通知装置に送信する着信通知要求手段とを備える着信制御装置が提供される。
【0122】
上記の着信制御装置は、前記ユーザ端末から、当該ユーザ端末の識別情報と、前記着信通知装置において当該ユーザ端末を識別するために用いられる端末識別情報とを含む設定情報を受信し、当該設定情報を記憶部に格納する設定手段を備えてもよく、前記着信通知要求手段は、前記記憶部から、前記通知信号に含まれる前記ユーザ端末の識別情報に対応する前記端末識別情報を取得し、当該端末識別情報を含む前記着信通知要求を前記着信通知装置に送信することとしてもよい。
【0123】
また、本実施の形態によれば、VoIP通信を行うユーザ端末、VoIP通信の呼制御を行う通信制御装置、着信の通知制御を行う着信制御装置、及び前記ユーザ端末に対する着信通知を送信する着信通知装置を有する通信システムにおいて使用される前記ユーザ端末であって、前記ユーザ端末の識別情報と前記通信制御装置の識別情報とを含む設定情報であって、前記通信制御装置に対するイベントの通知要求に使用される設定情報を前記着信制御装置に送信する設定情報送信手段と、前記イベントの発生に基づき前記ユーザ端末に対する着信通知要求を受信した前記着信通知装置から着信通知を受信し、当該着信通知を契機として、前記通信制御装置に登録信号を送信し、当該通信制御装置から前記イベントを発生させた発信信号を受信する通信制御手段とを備えるユーザ端末が提供される。
【0124】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。