(57)【要約】  一般に、本開示は、通信デバイス間での通信セッションの確立に関する。本開示は、特に、通信セッションのサービス品質（ＱｏＳ）アウェアな確立を提供する技術を記載する。一例として、通信デバイスは、通信デバイスがコア・ネットワークにアクセスするアクセス・ネットワークのアクセス技術にしたがうＱｏＳ確保手順を用いて、１または複数のコーデックのためにＱｏＳを確保することを試みることができる。この通信デバイスは、通信デバイスのＱｏＳモードおよびＱｏＳ確保に基づいて、例えばセッション記述プロトコル（ＳＤＰ）メッセージのようなコール制御メッセージに含めるための１または複数のコーデックを選択する。
2009544236.tif 000002
【特許請求の範囲】
【請求項１】
通信デバイスのためのサービス品質（ＱｏＳ）モードを選択することと、
前記選択されたＱｏＳモードに基づいて、通信セッションにおける使用に適切な１または複数のコーダ／デコーダ・モジュール（コーデック）を選択することと
を備える方法。
【請求項２】
１または複数のコーデックのためのＱｏＳを確保することをさらに備え、
前記１または複数のコーデックを選択することは、前記確保されたＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を持つ１または複数のコーデックを選択することを備える請求項１に記載の方法。
【請求項３】
前記コーデックのおのおのは、前記コーデックに関連付けられたＱｏＳ要求に基づいて、複数のＱｏＳレベルのうちの１つに対応し、
前記１または複数のコーデックのためのＱｏＳを確保することは、前記複数のＱｏＳレベルのうちの１つのためのＱｏＳを確保することを備え、
前記１または複数のコーデックを選択することは、前記確保されたＱｏＳレベルより低いかあるいはそれに等しいＱｏＳレベルに対応した１または複数のコーデックを選択することを備える請求項２に記載の方法。
【請求項４】
前記１または複数のコーデックを選択することは、確保され最も高い優先度を有するＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を有するコーデックのうちの１つを選択することを備える請求項２に記載の方法。
【請求項５】
前記選択されたコーデックのうちの１つを用いて前記通信セッションを確立することと、
前記確保されたＱｏＳを、前記選択され、前記通信セッションで用いられるコーデックのＱｏＳ要求と比較することと、
前記確保されたＱｏＳが、前記選択され、前記通信セッションで用いられるコーデックのＱｏＳ要求と等しくない場合、前記ＱｏＳの確保を調節することと
を備える請求項２に記載の方法。
【請求項６】
前記コーデックのおのおのは、複数のＱｏＳレベルのうちの１つに対応しており、
前記１または複数のコーデックのためのＱｏＳを確保することは、前記複数のＱｏＳレベルのうちの１つのためのＱｏＳを確保することを備え、
前記確保されたＱｏＳを、前記選択され、前記通信セッションで使用されるコーデックのＱｏＳ要求と比較することは、前記確保されたＱｏＳレベルを、前記選択され、前記通信セッションで使用されるコーデックに関連付けられたＱｏＳレベルと比較することを備える請求項５に記載の方法。
【請求項７】
前記ＱｏＳの確保を調節することは、前記選択され、前記通信セッションで使用されるコーデックのＱｏＳ要求が、前記確保されたＱｏＳを超える場合、前記確保されたＱｏＳをリリースすることを備える請求項５に記載の方法。
【請求項８】
前記ＱｏＳの確保を調節することは、前記選択され、前記通信セッションで使用されるコーデックのＱｏＳ要求が、前記確保されたＱｏＳより低い場合、前記確保されたＱｏＳを減少させることを備える請求項５に記載の方法。
【請求項９】
前記ＱｏＳモードを選択することは、ＱｏＳ確保を必要とする第１のＱｏＳモードか、ＱｏＳ確保を優先するが必要としない第２のＱｏＳモードかを選択することをさらに備える請求項１に記載の方法。
【請求項１０】
１または複数のコーデックのためのＱｏＳの確保を試みることと、
前記コーデックの何れにもＱｏＳが確保されておらず、ＱｏＳ確保を必要とするＱｏＳモードで前記デバイスが動作している場合、セッション確立を終了させることと
を備える請求項１に記載の方法。
【請求項１１】
１または複数のコーデックのためのＱｏＳを確保することを試みることをさらに備え、
前記１または複数のコーデックを選択することは、前記確保されたＱｏＳが、全てのコーデックのＱｏＳ要求より低く、前記デバイスが、ＱｏＳ確保を必要としないＱｏＳモードで動作している場合、前記確保されたＱｏＳを超えるＱｏＳ要求を有する１または複数のコーデックを選択することを備える請求項１に記載の方法。
【請求項１２】
前記１または複数のコーデックを選択することは、前記通信デバイスがサポートするように構成されている複数のコーデックから１または複数のコーデックを選択することを備える請求項１に記載の方法。
【請求項１３】
前記通信セッションを開始する通信デバイスから、コーデックのリストを含むセッション記述プロトコル（ＳＤＰ）提示を受信することをさらに備え、
前記１または複数のコーデックを選択することは、前記リストのうちの１または複数のコーデックを選択することを備える請求項１に記載の方法。
【請求項１４】
前記選択されたコーデックを識別するＳＤＰメッセージを含むセッション開始プロトコル（ＳＩＰ）メッセージを送ることをさらに備える請求項１に記載の方法。
【請求項１５】
前記通信デバイスのためのサービス品質（ＱｏＳ）モードを選択することは、前記通信デバイスがコア・ネットワークにアクセスするためのアクセス・ネットワークのラジオ・アクセス技術に基づいてＱｏＳモードを選択することを備える請求項１に記載の方法。
【請求項１６】
通信セッションでの使用に適した１または複数のコーデックを選択することは、ボイス・オーバ・インターネット・プロトコル（ＶｏＩＰ）セッションでの使用に適した１または複数のコーデックを選択することを備える請求項１に記載の方法。
【請求項１７】
通信デバイスであって、
複数のコーダ／デコーダ・モジュール（コーデック）と、
前記通信デバイスのサービス品質（ＱｏＳ）モードに基づいて、通信セッションにおける使用に適切な前記複数のコーデックのうち、１または複数を選択するコーデック選択モジュールと、
前記コーデック選択モジュールによって選択されたコーデックを識別するコール制御メッセージを生成するプロセッサと
を備えた通信デバイス。
【請求項１８】
１または複数のコーデックのためのＱｏＳを確保するＱｏＳ確保モジュールをさらに備え、
前記コーデック選択モジュールは、確保されたＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を有する１または複数のコーデックを選択する請求項１７に記載の通信デバイス。
【請求項１９】
前記複数のコーデックのおのおのは、複数のＱｏＳレベルのうちの１つに対応し、
前記ＱｏＳ確保モジュールは、前記複数のＱｏＳレベルのうちの１つのためのＱｏＳを確保し、
前記コーデック選択モジュールは、前記確保されたＱｏＳレベルより低いかあるいはそれに等しいＱｏＳレベルに対応する１または複数のコーデックを選択する請求項１８に記載の通信デバイス。
【請求項２０】
前記コーデック選択モジュールは、確保され最も高い優先度を有するＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を有する複数のコーデックのうちの１つを選択する請求項１８に記載の通信デバイス。
【請求項２１】
前記プロセッサは、前記選択されたコーデックのうちの１つを用いて、前記通信セッションを確立し、
前記ＱｏＳ確保モジュールは、前記確保されたＱｏＳを、前記選択され、前記通信セッションで用いられるコーデックのＱｏＳ要求と比較し、前記確保されたＱｏＳが、前記選択され、前記通信セッションで用いられるコーデックのＱｏＳ要求と等しくない場合、前記ＱｏＳ確保を調節する請求項１８に記載の通信デバイス。
【請求項２２】
前記ＱｏＳ確保モジュールは、前記選択され、前記通信セッションで使用されるコーデックのＱｏＳ要求が、前記確保されたＱｏＳを超える場合、前記確保されたＱｏＳをリリースする請求項２１に記載の通信デバイス。
【請求項２３】
前記ＱｏＳ確保モジュールは、前記選択され、前記通信セッションで使用されるコーデックのＱｏＳ要求が、前記確保されたＱｏＳより低い場合、前記確保されたＱｏＳを減少させる請求項２１に記載の通信デバイス。
【請求項２４】
前記プロセッサは、ＱｏＳ確保を必要とする第１のＱｏＳモードか、ＱｏＳ確保を優先するが必要としない第２のＱｏＳモードかを選択する請求項１７に記載の通信デバイス。
【請求項２５】
前記ＱｏＳ確保モジュールは、１または複数コーデックのためのＱｏＳの確保を試み、
前記コーデックの何れにもＱｏＳが確保されておらず、前記通信デバイスが、ＱｏＳ確保を必要とするＱｏＳモードで動作している場合、前記プロセッサは、セッション確立を終了させる請求項１７に記載の通信デバイス。
【請求項２６】
前記ＱｏＳ確保モジュールは、１または複数のコーデックのためのＱｏＳを確保することを試み、
前記コーデック選択モジュールは、前記確保されたＱｏＳが、全てのコーデックのＱｏＳ要求より低く、前記通信デバイスが、ＱｏＳ確保を必要としないＱｏＳモードで動作している場合、前記確保されたＱｏＳを超えるＱｏＳ要求を有する１または複数のコーデックを選択する請求項１７に記載の通信デバイス。
【請求項２７】
前記通信セッションを開始する通信デバイスから、コーデックのリストを含むセッション記述プロトコル（ＳＤＰ）提示を受信するトランシーバをさらに備え、
前記コーデック選択モジュールは、前記ＳＤＰ提示に含まれるリストの１または複数のコーデックを選択する請求項１７に記載の通信デバイス。
【請求項２８】
前記プロセッサは、前記選択されたコーデックを識別するセッション記述プロトコル（ＳＤＰ）メッセージを含むセッション開始プロトコル（ＳＩＰ）メッセージを送る請求項１７に記載の通信デバイス。
【請求項２９】
前記通信セッションは、ボイス・オーバ・インターネット・プロトコル（ＶｏＩＰ）セッションを備える請求項１７に記載の通信デバイス。
【請求項３０】
コンピュータ・プログラム製品であって、
通信デバイスのためのサービス品質（ＱｏＳ）モードをコンピュータに選択させるコードと、
前記選択されたＱｏＳモードに基づいて、通信セッションにおける使用に適切な１または複数のコーダ／デコーダ・モジュール（コーデック）をコンピュータに選択させるコードと
を備えるコンピュータ読取可能媒体を備えるコンピュータ・プログラム製品。
【請求項３１】
前記コンピュータ読取可能媒体はさらに、１または複数のコーデックのためのＱｏＳを前記コンピュータに確保させるコードを備え、
前記１または複数のコーデックを前記コンピュータに選択させるコードは、前記確保されたＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を持つ１または複数のコーデックを前記コンピュータに選択させるコードを備える請求項３０に記載のコンピュータ・プログラム製品。
【請求項３２】
前記コーデックのおのおのは、複数のＱｏＳレベルのうちの１つに対応し、
前記コンピュータ読取可能媒体はさらに、
前記複数のＱｏＳレベルのうちの１つのためのＱｏＳを前記コンピュータに確保させるコードと、
前記確保されたＱｏＳレベルより低いかあるいはそれに等しいＱｏＳレベルに対応する１または複数のコーデックを前記コンピュータに選択させるコードと
を備える請求項３１に記載のコンピュータ・プログラム製品。
【請求項３３】
前記１または複数のコーデックを前記コンピュータに選択させるコードは、確保され最も高い優先度を有するＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を有するコーデックのうちの１つを前記コンピュータに選択させるコードを備える請求項３１に記載のコンピュータ・プログラム製品。
【請求項３４】
前記コンピュータ読取可能媒体はさらに、
前記コンピュータに、前記選択されたコーデックのうちの１つを用いて、前記通信セッションを確立させるコードと、
前記コンピュータに、前記確保されたＱｏＳを、前記選択され、前記通信セッションで用いられるコーデックのＱｏＳ要求と比較させるコードと、
前記確保されたＱｏＳが、前記選択され、前記通信セッションで用いられるコーデックのＱｏＳ要求と等しくない場合、前記コンピュータに、前記ＱｏＳ確保を調節させるコードと
を備える請求項３１に記載のコンピュータ・プログラム製品。
【請求項３５】
前記コンピュータに、前記ＱｏＳ確保を調節させるコードは、前記選択され、前記通信セッションで使用されるコーデックのＱｏＳ要求が、前記確保されたＱｏＳを超える場合、前記コンピュータに、前記確保されたＱｏＳをリリースさせるコードを備える請求項３４に記載のコンピュータ・プログラム製品。
【請求項３６】
前記コンピュータに、前記ＱｏＳ確保を調節させるコードは、前記選択され、前記通信セッションで使用されるコーデックのＱｏＳ要求が、前記確保されたＱｏＳより低い場合、前記コンピュータに、前記確保されたＱｏＳを減少させるコードを備える請求項３４に記載のコンピュータ・プログラム製品。
【請求項３７】
前記コンピュータに、前記ＱｏＳモードを選択させるコードは、ＱｏＳ確保を必要とする第１のＱｏＳモードか、ＱｏＳ確保を優先するが必要としない第２のＱｏＳモードかを、前記コンピュータに選択させるコードを備える請求項３０に記載のコンピュータ・プログラム製品。
【請求項３８】
前記コンピュータ読取可能媒体はさらに、
前記コンピュータに、１または複数のコーデックのためのＱｏＳの確保を試みさせるコードと、
前記コーデックの何れにもＱｏＳが確保されておらず、ＱｏＳ確保を必要とするＱｏＳモードで前記通信デバイスが動作している場合、前記コンピュータに、セッション確立を終了させるコードと
を備える請求項３０に記載のコンピュータ・プログラム製品。
【請求項３９】
前記コンピュータ読取可能媒体はさらに、１または複数のコーデックのためのＱｏＳを確保することを、前記コンピュータに試みさせるコードを備え、
前記コンピュータに、１または複数のコーデックを選択させるコードは、前記確保されたＱｏＳが、全てのコーデックのＱｏＳ要求より低く、前記通信デバイスが、ＱｏＳ確保を必要としないＱｏＳモードで動作している場合、前記コンピュータに、前記確保されたＱｏＳを超えるＱｏＳ要求を有する１または複数のコーデックを選択させるコードを備える請求項３０に記載のコンピュータ・プログラム製品。
【請求項４０】
前記コンピュータ読取可能媒体はさらに、前記通信デバイスによって受信されたセッション記述プロトコル（ＳＤＰ）に含まれるコーデックのリストのうちの１または複数のコーデックを、前記コンピュータに選択させるコードを備える請求項３０に記載のコンピュータ・プログラム製品。
【請求項４１】
前記コンピュータ読取可能媒体はさらに、
前記選択されたコーデックを識別するセッション記述プロトコル（ＳＤＰ）メッセージを前記コンピュータに生成させるコードと、
前記ＳＤＰメッセージをセッション開始プロトコル（ＳＩＰ）メッセージのボディの一部として含むＳＩＰメッセージを、前記コンピュータに送信させるコードと
を備える請求項３０に記載のコンピュータ・プログラム製品。
【請求項４２】
通信デバイスのためのサービス品質（ＱｏＳ）モードを選択する手段と、
前記選択されたＱｏＳモードに基づいて、通信セッションにおける使用に適切な１または複数のコーダ／デコーダ・モジュール（コーデック）を選択する手段と
を備える通信デバイス。
【請求項４３】
１または複数のコーデックのためのＱｏＳを確保する手段をさらに備え、
前記コーデックを選択する手段は、前記確保されたＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を持つ１または複数のコーデックを選択する請求項４２に記載の通信デバイス。
【請求項４４】
前記コーデックのおのおのは、複数のＱｏＳレベルのうちの１つに対応し、
前記確保する手段は、前記複数のＱｏＳレベルのうちの１つのためのＱｏＳを確保し、
前記コーデックを選択する手段は、前記確保されたＱｏＳレベルより低いかあるいはそれに等しいＱｏＳレベルに対応する１または複数のコーデックを選択する請求項４３に記載の通信デバイス。
【請求項４５】
前記選択する手段は、最も高い優先度を有し、前記確保されたＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を有するコーデックのうちの１つを選択する請求項４３に記載の通信デバイス。
【請求項４６】
前記選択されたコーデックのうちの１つを用いて前記通信セッションを確立する手段と、
前記確保されたＱｏＳを、前記選択され、前記通信セッションで用いられるコーデックのＱｏＳ要求と比較する手段と、
前記確保されたＱｏＳが、前記選択され、前記通信セッションで用いられるコーデックのＱｏＳ要求と等しくない場合、前記ＱｏＳの確保を調節する手段と
をさらに備える請求項４３に記載の通信デバイス。
【請求項４７】
前記ＱｏＳモードを選択する手段は、ＱｏＳ確保を必要とする第１のＱｏＳモードか、ＱｏＳ確保を優先するが必要としない第２のＱｏＳモードかを選択する請求項４２に記載の通信デバイス。
【請求項４８】
１または複数のコーデックのためのＱｏＳを確保する手段と、
前記コーデックの何れにもＱｏＳが確保されておらず、ＱｏＳ確保を必要とするＱｏＳモードで前記通信デバイスが動作している場合、セッション確立を終了させる手段と
をさらに備える請求項４２に記載の通信デバイス。
【請求項４９】
１または複数のコーデックのためのＱｏＳを確保する手段をさらに備え、
前記コーデックを選択する手段は、前記確保されたＱｏＳが、全てのコーデックのＱｏＳ要求より低く、前記通信デバイスが、ＱｏＳ確保を必要としないＱｏＳモードで動作している場合、前記確保されたＱｏＳを超えるＱｏＳ要求を有する１または複数のコーデックを選択する請求項４２に記載の通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信デバイス間の通信セッションの確立に関する。
【背景技術】
【０００２】
セッション開始プロトコル（ＳＩＰ）は、パケット・ベースのネットワークにおけるインターネット・プロトコル（ＩＰ）ベースのテレフォニ・サービスの配信を確立し管理するためのアプリケーション・レイヤ・シグナリングおよび制御プロトコルである。ＳＩＰは、ユーザ認証、リダイレクト、および登録サービスを提供し、例えばオーディオまたはビデオ会議、テキスト・メッセージング、インタラクティブ・ゲーム、およびコール転送のような様々なテレフォニ・サービスを提供するために使用されうる。ＳＩＰプロトコルは、２００２年に公開されたＲｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔ（ＲＦＣ）３２６１に記載され、インターネット・エンジニアリング・タスク・フォース（ＩＥＴＦ）によって準備されている。
【０００３】
ＳＩＰは、セッションのセットアップ、修正、および終了のためのいくつかの機能を提供する。特に、ＳＩＰは、インターネットを介したセッションの生成、修正、および終了のためのルールのシステムを提供する。ＳＩＰは、ＨＴＴＰのような要求および応答トランザクション・モデルに基づく。おのおののトランザクションは、特定の機能および少なくとも１つの応答を実施する要求からなる。ＳＩＰは、任意の伝送プロトコルによって動作することができる。言い換えれば、例えば、セッション内で使用されるコーダ／デコーダ（コーデック）のように、セッション内で交換されるデータの詳細が、ＳＩＰによって制御されない。代わりに、ＳＩＰは、エンド・ユーザに完全なサービスを提供するマルチメディア・アーキテクチャを構築するその他のプロトコルと互換性を持つ。
【発明の概要】
【０００４】
本出願は、２００６年７月１４日に出願された米国仮特許出願６０／８３０，８５１号、２００６年７月１４日に出願された米国仮特許出願６０／８３０，８４５号、および２００７年２月９日に出願された米国特許出願１１／６７３，２８９号に対する優先権を主張する。
【０００５】
一般に、本開示は、通信デバイス間の通信セッションの確立に関係がある。特に、本開示は、サービス品質（ＱｏＳ）を備えた通信セッションの確立のために提供する技術を記載する。
【０００６】
一例として、通信デバイスは、アクセス技術に特有のＱｏＳ確保手順を用いて、１または複数のコーデックのためにＱｏＳを確保することを試みることができる。この通信デバイスは、デバイスのＱｏＳモードおよびＱｏＳ確保に基づいて、例えばセッション記述プロトコル（ＳＤＰ）によって生成されたようなコール制御メッセージ内のセッション記述に含めるための１または複数のコーデックを選択する。
【０００７】
通信デバイスは、通信デバイスによってサポートされるコーデックのリストを生成し、リストされたコーデックのＱｏＳ要求を、確保されているＱｏＳと比較する。通信デバイスは、通信デバイスによって確保されているＱｏＳを超えるＱｏＳ要求を有するコーデックを削除する。コーデックのうちの１または複数のために十分なＱｏＳが確保されている場合、このデバイスは、選択されたコーデックのうちの少なくとも１つを含むＳＤＰ提示を生成する。
【０００８】
通信デバイスが、通信セッションの開始デバイスとして動作している場合、ＳＤＰメッセージ（例えば、ＳＤＰ提示）は、ＱｏＳが確保されている全てのコーデックを含むことができる。通信デバイスが、通信セッションの終了デバイスとして動作している場合、ＳＤＰメッセージ（例えば、ＳＤＰ回答）は、例えば、ＱｏＳが確保されている最も高い優先度を持つコーデックのように、ＱｏＳが確保されている単一のコーデックのみを含む。このように、ＳＤＰメッセージ内に含めるためのコーデックの選択は、通信デバイスによって確保されているＱｏＳに依存する。
【０００９】
確保されたＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を有するコーデックが存在しないのであれば、通信デバイスは、デバイスのＱｏＳモードを判定する。通信セッションが確立される前に、十分なＱｏＳの確保を必要とするＱｏＳモードで通信デバイスが動作しているのであれば、通信デバイスは、セッション確立を終了させる。十分なＱｏＳが確保されることを好むＱｏＳモードで通信デバイスが動作しているが、不十分なＱｏＳしか確保されていない場合に、ベスト・エフォートを用いて動作するのであれば、この通信デバイスは、通信デバイスによってサポートされるコーデックのうちの少なくとも１つを選択し、選択したコーデックをＳＤＰメッセージ内に含める。一例として、通信デバイスは、例えば、通信デバイスがＳＤＰ提示を送っている場合のように、通信デバイスが、通信セッションの開始デバイスとして動作している場合、通信デバイスによってサポートされている全てのコーデックを含むことができる。このように、ＳＤＰメッセージ内に含めるためのコーデックの選択は、通信デバイスのＱｏＳコンフィグレーション・モードに依存する。
【００１０】
したがって、本開示の技術は、ＱｏＳアウェア通信セッション確立を提供する。さらに、これら技術は、基礎をなす様々なアクセス技術によって動作するアプリケーションのために利用されうる。例えば、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）を介して動作する通信デバイスと、１ｘエボリューション・データ・オブティマイズド（１ｘＥＶ−ＤＯ）ネットワークを介して動作する通信デバイスとのための通信セッションを確立するために同じ技術が使用されうる。このように、本技術は、異なるアクセス技術によって動作する単一の実装として動作する。
【００１１】
１つの局面では、方法は、通信デバイスのためのサービス品質（ＱｏＳ）モードを選択することと、選択されたＱｏＳモードに基づいて、通信セッションでの使用に適した１または複数のコーデックを選択することとを備える。
【００１２】
別の局面では、通信デバイスは、複数のコーデックと、通信デバイスのサービス品質（ＱｏＳ）モードに基づいて、通信セッションでの使用に適した複数のコーデックのうちの１または複数を選択するコーデック選択モジュールと、コーデック選択モジュールによって選択されたコーデックを識別するコール制御メッセージを生成するプロセッサとを備える。
【００１３】
さらなる局面では、コンピュータ・プログラム製品は、通信デバイスのためのサービス品質（ＱｏＳ）モードを、コンピュータに選択させるコードと、選択されたＱｏＳモードに基づいて、通信セッションでの使用に適した１または複数のコーデックを、コンピュータに選択させるコードとを含むコンピュータ読取可能媒体を備える。
【００１４】
また別の局面では、通信デバイスは、通信デバイスのためのサービス品質（ＱｏＳ）モードを選択する手段と、選択されたＱｏＳモードに基づいて、通信セッションでの使用に適した１または複数のコーデックを選択する手段とを備える。
【００１５】
本開示に記載された技術は、ハードウェア、ソフトウェア、ファームウェア、あるいはこれらの任意の組み合わせで、通信装置内で実現されうる。ソフトウェアで実現される場合、このソフトウェアは、コンピュータ内で実行されうる。ソフトウェアは、命令、プログラム・コード等として最初に格納されうる。したがって、本開示はまた、本開示にしたがって技術および機能をコンピュータに実行させるコードを備えるコンピュータ読取可能媒体を備えるデジタル・ビデオ符合化のためのコンピュータ・プログラム製品を考慮している。
【００１６】
本開示の技術のうちの１または複数の例の詳細が、添付図面および以下の記述で述べられる。本開示のその他の特徴、目的、および利点が、説明および図面、ならびに特許請求の範囲から明らかになるだろう。
【図面の簡単な説明】
【００１７】
【図１】図１は、無線通信デバイス（ＷＣＤ）と通信デバイスとの間の通信セッションの管理のためのシステムを例示するブロック図である。
【図２】図２は、本開示にしたがってＱｏＳアウェア・セッション確立を実行するＷＣＤの一例の構成要素を例示するブロック図である。
【図３】図３は、２つの通信デバイス間で通信セッションを確立するコール制御メッセージの典型的な交換を例示するコール・フロー図である。
【図４】図４は、２つの通信デバイス間で通信セッションを確立するコール制御メッセージの別の典型的な交換を例示するコール・フロー図である。
【図５】図５は、２つの通信デバイス間で通信セッションを確立するコール制御メッセージのその他の典型的な交換を例示するコール・フロー図である。
【図６】図６は、２つの通信デバイス間で通信セッションを確立するコール制御メッセージのさらなる典型的な交換を例示するコール・フロー図である。
【図７】図７は、セッションを開始する通信デバイスのＱｏＳコンフィグレーション・モードに基づいて、ＳＤＰ提示内に含める１または複数のコーデックのセットを選択する通信デバイスの典型的な動作を例示するフロー図である。
【図８】図８は、ＳＤＰ提示を受信し、かつ、通信デバイスのＱｏＳモードに基づいてコーデックのサブセットを選択する通信デバイスの典型的な動作を例示するフロー図である。
【図９】図９は、その後のコール制御メッセージで追加のＳＤＰ提示を受信し、かつ、通信デバイスのＱｏＳモードに基づいてコーデックのサブセットを選択する通信デバイスの典型的な動作を例示するフロー図である。
【図１０】図１０は、確保されたＱｏＳのレベルを使用中のコーデックの要求にマッチするように調節する通信デバイスの典型的な動作を例示するフロー図である。
【発明を実施するための形態】
【００１８】
一般に、本開示は、通信デバイス間の通信セッションの確立に関する。特に、本開示は、サービス品質（ＱｏＳ）を備えた通信セッションの確立を提供する技術を開示する。
【００１９】
一例として、通信デバイスは、アクセス技術に特有なＱｏＳ確保手順を用いて、１または複数のコーデックのためのＱｏＳを確保することを試みることができる。例えば、ＥＶ−ＤＯネットワークにおけるアクセス端末（ＡＴ）によるＱｏＳ確保は、ＡＴと、ＥＶ−ＤＯアクセス・ネットワーク（ＡＮ）との間でＱｏＳ確保要求を交換することを含む。ＡＴは、ＱｏＳに対する要求をネットワークへ送り、ネットワークは、この要求のために必要なリソースを割り当て、許可する。ＡＴは、マルチフロー・パケット・アプリケーション・プロトコルの属性ReservationKKQoSResquestFwdとReservationKKQoSResquestRevとをそれぞれ用いることによって、双方向ＱｏＳを要求する。ＡＴは、例えば、ボイス・オーバＩＰ（ＶｏＩＰ）コーデックのＥＶＲＣファミリーのためのＰｒｏｆｉｌｅＩｄ  ２５６のような標準化されたＰｒｏｆｉｌｅＩｄを用いて識別することによって、ＱｏＳ“プロファイル”を指定する。ＱｏＳＲｅｑｕｅｓｔがなされた場合、それは、Ｒｅｓｅｒｖａｔｉｏｎと呼ばれる特定のＩＰフロー向けである。おのおののＩＰフローは、ＡＴによって確保ラベルが割り当てられる。それは、ＱｏＳＲｅｑｕｅｓｔおよびＩＰフローを識別するために使用される。
【００２０】
ＡＮは、ReservationKKQoSResponseメッセージを用いてＱｏＳ要求に対して応答し、ネゴシエートされたＱｏＳにしたがって（“リンク・フロー”と呼ばれる）無線リンクを生成および設定し、その後、このリンク・フローを確保ラベルと結び付ける。ＡＴは、ネットワーク・リソースを実際に使用したい場合に、この確保が、「オン」または起動されることを要求する。そうではない場合、ＱｏＳコンフィグレーションは、実際にはリソースが使用されていないものの、確保ラベルによって識別されるネットワーク内の状態として残る。
【００２１】
リソースは、ＡＴがＩＰコア・ネットワークにアクセスするネットワーク・ノードであるパケット・データ・サービス提供ノード（ＰＤＳＮ）内に確保される。この目的のために、ＡＴは、ＰＤＳＮにおいてトラフィック・フロー・テンプレート（ＴＦＴ）の生成／削除または修正のために、リソース・リザベーション・プロトコル（ＲＳＶＰ）ＲＥＳＶメッセージを送る。おのおののＴＦＴは、様々なＩＰフローに対応する１または複数のパケット・フィルタを含むことができる。このＴＦＴは、ＩＰフローを使用するつもりであるサービスのＱｏＳ要求を満足するために、ＰＤＳＮにおいて、トラフィックの特定の取り扱いを要求する。ＰＤＳＮは、ＲＳＶＰ  ＲＥＳＶＣｏｎｆメッセージをもってリソース確保を受諾する。
【００２２】
別の例として、ＷＬＡＮ環境におけるＱｏＳの確保は、ＩＥＥＥ  ８０２．１１ｅ規格に基づきうる。ＴＳＰＥＣは、ＱｏＳパラメータの通信のための主要なメカニズムである。ＴＳＰＥＣは、例えば最小データ・レートおよび最大データ・レートのように、十分に定義されたパラメータに関するＷｉ−Ｆｉハンドセット（ＱｏＳ局すなわちＱＳＴＡ）の希望のＱｏＳコンフィグレーションの仕様である。ＱＳＴＡは、ＡＤＤＴＳ（Ａｄｄ  ＴＳＰＥＣ）要求の形態で、ＱｏＳアクセス・ポイント（ＱＡＰ）にＴＳＰＥＣ要求を送る。ＱＳＴＡは、（ＱＳＴＡからＱＡＰへの）アップストリーム・フローと、（ＱＡＰからＱＳＴＡへの）ダウンストリーム・フローとの両方のために、ＴＳＰＥＣを要求する。ＱＡＰは、要求されたＴＳＰＥＣを満足する利用可能なリソースが存在するかを評価する。ＱＡＰは、ＱＳＴＡに対して（恐らく、より低いパフォーマンスのＱｏＳパラメータを持つ）別のＴＳＰＥＣを提案することによって応答するか、あるいは、ＴＳＰＥＣ要求を完全に無視することができる。ＴＳＰＥＣが確立されると、それはデータ転送のために使用され、ＱＡＰは、可能な最大程度まで、そのＴＳＰＥＣ  ＱｏＳパラメータを満足するだろう。
【００２３】
本明細書で使用されるように、ＱｏＳは、専用帯域幅、送信レート、符合化レート、制御されたジッタおよびレイテンシ、改善された損失特性等にしたがって、サービスの特定の優先度付けされた取り扱いを提供するためのネットワークの能力を称する。通信デバイスは、通信デバイスのＱｏＳモードおよびＱｏＳ確保に基づいて、例えば、セッション記述プロトコル（ＳＤＰ）によって生成されたようなコール制御メッセージ内のセッション記述内に含めるための１または複数のコーデックを選択する。
【００２４】
通信デバイスは、通信デバイスによってサポートされるコーデックのリストを生成し、リストされているコーデックのＱｏＳ要求を、確保されているＱｏＳと比較する。通信デバイスは、通信デバイスによって確保されているＱｏＳを超えるＱｏＳ要求を有するコーデックを削除する。コーデックのうちの１または複数のために十分なＱｏＳが確保されているのであれば、通信デバイスは、選択されたコーデックのうちの少なくとも１つを含むＳＤＰメッセージを生成する。通信デバイスは、確保されたＱｏＳがコーデックのＱｏＳ要求を超えているのであれば、コーデックのために十分なＱｏＳが確保されていると判定する。例えば、確保された送信レートが、１または複数のコーデックの送信レート要求を超えるのであれば、十分なＱｏＳが確保される。
【００２５】
通信デバイスが、通信セッションの開始デバイスとして動作している場合、ＳＤＰメッセージは、ＱｏＳが確保されている全てのコーデックを含むことができる。通信デバイスが、通信セッションの終了デバイスとして動作している場合、ＳＤＰメッセージは、例えば、ＱｏＳが確保された最も高い優先度を持つコーデックのように、ＱｏＳが確保された１つのコーデックのみを含む。このように、ＳＤＰメッセージ内に含めるコーデックの選択は、通信デバイスによって確保されているＱｏＳに依存する。
【００２６】
確保されたＱｏＳより低いかあるいはそれに等しいＱｏＳ要求を有するコーデックが存在しないのであれば、通信デバイスは、通信デバイスのＱｏＳモードを判定する。通信セッションが確立される前に、十分なＱｏＳの確保を必要とするＱｏＳモードで通信デバイスが動作しているのであれば、この通信デバイスは、セッション確立を終了させる。十分なＱｏＳが確保されることを望むＱｏＳモードで通信デバイスが動作しているが、不十分なＱｏＳしか確保されていない場合に、ベスト・エフォートを用いて動作しているのであれば、通信デバイスは、通信デバイスによってサポートされているコーデックのうちの１または複数を選択し、選択されたコーデックを、ＳＤＰメッセージ内に含める。一例として、通信デバイスは、例えばＳＤＰ提示を送っている場合のように、通信デバイスが、通信セッションの開始デバイスとして動作している場合、通信デバイスによってサポートされている全てのコーデックを含めることができる。このように、ＳＤＰメッセージに含めるコーデックの選択は、通信デバイスのＱｏＳコンフィグレーション・モードに依存する。
【００２７】
したがって、本開示の技術は、ＱｏＳアウェア通信セッション確立のために提供する。さらに、これら技術は、基礎をなす様々な技術によって動作するアプリケーションのために利用されうる。例えば、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）で動作する通信デバイス、および、１ｘエボリューション・データ・オプティマイズド（１ｘＥＶ−ＤＯ）ネットワークで動作する通信デバイスのための通信セッションを確立するために同じ技術が使用されうる。このように、本技術は、異なるアクセス技術によって動作する単一の実装として動作する。
【００２８】
図１は、無線通信デバイス（ＷＣＤ）１４と通信デバイス１６との間の通信セッションの管理のためのシステム１０を例示するブロック図である。システム１０は、例えばインターネット・プロトコル（ＩＰ）ネットワーク（図示せず）のようなパケット・ベースの通信ネットワークに組み込まれているか、あるいは接続されているＳＩＰネットワーク１２を含む。図１の例では、ＷＣＤ１４は、ＳＩＰネットワーク１２によって管理されているＳＩＰセッションを使用して、通信デバイス１６と通信する。多くの場合、ＷＣＤ１４は、１よりも多くの通信デバイスと通信することができる。しかしながら、例示を簡単にするために、図１は、ＷＣＤ１４と通信デバイス１６との間の通信を示している。
【００２９】
ＷＣＤ１４は、例えば、セルラ電話、衛星電話、無線電話、携帯情報端末（ＰＤＡ）、いわゆるＳＩＰ電話、ソフト電話、ＷｉＦｉ送受話器、ＩＰ電話、あるいは無線通信機能を組み込んだその他任意のデバイスのような任意の無線デバイスでありうる。通信デバイス１６は、例えば、別のＷＣＤ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、固定電話、メディア・ゲートウェイ、アプリケーションサーバ等のような有線通信機能または無線通信機能を組み込んだ任意のデバイスでありうる。本開示では、ＷＣＤ１４および通信デバイス１６は、ＳＩＰまたは、ボイス・オーバ・インターネット・プロトコル（ＶｏＩＰ）オーディオ会議、ビデオ会議、テキスト・メッセージング、オンライン・ゲーム、およびその他のパケット・ベースのテレフォニ・アプリケーションのためのその他のシグナリング・プロトコルをサポートするように構成されうる。
【００３０】
ＷＣＤ１４は、アクセス・ネットワーク１８Ａを介してＳＩＰネットワーク１２に接続される。通信デバイス１６は、有線または無線でありうる別のアクセス・ネットワーク１８Ｂを介してＳＩＰネットワーク１２に接続される。ＷＣＤ１４と通信デバイス１６は、例えば、汎用パケット・ラジオ・サービス（ＧＰＲＳ）、符号分割多元接続（ＣＤＭＡ）、ＣＤＭＡ２０００、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ）、１ｘエボリューション・データ・オプティマイズド（１ｘＥＶ−ＤＯ）等のような様々な無線ラジオ・アクセス技術（ＲＡＴ）の何れかに従って、アクセス・ネットワーク１８Ａ、１８Ｂそれぞれを経由して通信する。
【００３１】
ＷＣＤ１４と通信デバイス１６は、同じアクセス技術を用いて、あるいは、異なるアクセス技術を用いて、アクセス・ネットワーク１８Ａ，１８Ｂを経由して通信することができる。あるいは、または、それに加えて、ＷＣＤ１４および通信デバイス１６は、例えば、様々なＩＥＥＥ  ８０１．１１ｘ規格によって規定されるプロトコルのうちの何れかのような無線ローカル・エリア・ネットワーク（ＷＬＡＮ）プロトコルにしたがって通信するために備えられうる。アクセス・ネットワーク１８は、ＷＣＤ１４および通信デバイス１６と無線信号を交換し、かつ、例えばインターネット、広域ネットワーク（ＷＡＮ）、またはローカル・エリア・ネットワーク（ＬＡＮ）、および／または、公衆交換電話網（ＰＳＴＮ）のようなグローバル・パケット・ベースのコア・ネットワークを介してその他のネットワーク・クライアントまたはサーバへの接続を提供する無線基地局およびアクセス・ポイントを含む。
【００３２】
ＳＩＰネットワーク１２は、ＳＩＰメッセージを交換することによって、セッションの確立を容易にするために、ＷＣＤ１４および通信デバイス１６のために動作するプロキシ・サーバ２０Ａ、２０Ｂ（集合的に“プロキシ・サーバ２０”と称する）を含む。ＷＣＤ１４、通信デバイス１６、およびプロキシ・サーバ２０は、ＷＣＤ１４と通信デバイス１６との間のセッションの生成、維持、および終了のために、ＳＩＰメッセージを交換するＳＩＰセッションを確立すると、例えば、オーディオ、ビデオ、またはそれら両方のようなマルチメディア・コンテンツが、例えばリアル・タイム伝送プロトコル（ＲＴＰ）のようなメディア伝送プロトコルにしたがって、ＷＣＤ１４と通信デバイス１６との間で交換されうる。
【００３３】
例えばＷＣＤ１４または通信デバイス１６のうちの１つのような開始デバイスのユーザが、ＶｏＩＰセッションの確立を要求するデバイスで実行しているアプリケーションとインタラクトすると、例えばＷＣＤ１４と通信デバイス１６とのうちの別の１つのような開始デバイスと終了デバイスとの間のセッションの確立を容易にするために、開始デバイスは、プロキシ・サーバ２０と通信する。本開示において“開始デバイス”として用いられる用語は、例えば通話を行うようなセッションの確立を試みることを開始する通信デバイスを称する。本開示において“終了デバイス”として用いられる用語は、開始デバイスがＶｏＩＰセッションの確立を試みている通信デバイスを称する。ＷＣＤ１４、通信デバイス１６、およびプロキシ・サーバ２０は、セッションを確立するための例えばＩＮＶＩＴＥ要求、応答、およびＡＣＫ要求のような多くのＳＩＰメッセージを交換することができる。
【００３４】
ＷＣＤ１４および通信デバイス１６のうちの１つまたは両方は、本開示の技術にしたがって、通信の確立中、ＱｏＳを確保するように構成されうる。典型的な目的のため、図１は、本開示のための技術をサポートする通信デバイス１６とＷＣＤ１４との両方に関して記載されるだろう。言い換えれば、セッションの開始デバイスと終了デバイスとの両方が、本明細書に記載の技術をサポートすることができる。しかしながら、他の例において、開始デバイスのみ、または終了デバイスのみが、本技術をサポートする。
【００３５】
本開示の技術にしたがって、ＷＣＤ１４および通信デバイス１６は、少なくとも２つのＱｏＳコンフィグレーション・モードをサポートする。ＷＣＤ１４と通信デバイスが動作するＱｏＳコンフィグレーション・モードは、デバイスがＩＰベースのインフラストラクチャ（図１に図示せず）にアクセスするアクセス・ネットワーク１８のラジオ・アクセス技術、および／または、サービス・プロバイダに依存しうる。ＷＣＤ１４と通信デバイス１６とが動作するＱｏＳモードに基づいて、ＷＣＤ１４および通信デバイス１６は、通信セッション中に使用する特定のコーデックを決定するために、ＶｏＩＰセッションの確立中、ネゴシエートする。
【００３６】
一例として、ＷＣＤ１４および通信デバイス１６はそれぞれ、２つのＱｏＳコンフィグレーション・モード、すなわち、ＱｏＳ要求モード、およびＱｏＳ優先モードをサポートすることができる。ＷＣＤ１４および通信デバイス１６は、同じＱｏＳコンフィグレーション・モードで動作することができる。一方、ＷＣＤ１４および通信デバイス１６は、互いに通信するために、同じＱｏＳコンフィグレーション・モードで動作する必要はない。例えば、ＷＣＤ１４はＱｏＳ要求モードで動作することができる。さらに、ＱｏＳ優先モードで動作しうる通信デバイス１６と通信することができる。
【００３７】
ＱｏＳ要求モードで動作している場合、通信セッションを確立するために、十分なＱｏＳが確保されねばならい。この目的のために、通信セッションの確立中、ＷＣＤ１４と通信デバイス１６とは、十分なＱｏＳが確保されることができるコーデックのみを選択するだろう。特に、ＷＣＤ１４および通信デバイス１６は、ＳＤＰメッセージにおいて、例えば、どのコーデックが所望のＱｏＳのために適切であるかの提示または回答を示す。ＷＣＤ１４および通信デバイス１６は、ＳＤＰメッセージ内に、ＱｏＳが確保されないコーデックを含まないだろう。
【００３８】
ＱｏＳ優先モードで動作している場合、ＷＣＤ１４および通信デバイス１６は、１または複数のサポートされたコーデックのためのＱｏＳを確保することを試みることができる。確保されたＱｏＳ（例えば、送信レートおよび／またはレイテンシ）が、コーデックのＱｏＳ送信レート要求およびレイテンシ要求を超えるのであれば、その特定のコーデックのために十分なＱｏＳが確保される。十分なＱｏＳがコーデックのうちの何れかのために確保されている場合、ＷＣＤ１４および通信デバイス１６は、ＱｏＳが確保されたコーデックのうちの１または複数を選択し、選択されたコーデックをＳＤＰメッセージ内にリストする。しかしながら、ＷＣＤ１４および通信デバイス１６が、何れかのコーデックのための十分なＱｏＳを確保することに失敗することは、セッション確立を放棄することにはならない。代わりに、ＱｏＳ優先モードによって、ＷＣＤ１４および通信デバイス１６は、ＱｏＳがＳＤＰメッセージにおいて確保されていない１または複数のサポートされたコーデックを特定することが可能となり、もって、ベスト・エフォートＱｏＳを用いて動作する。本明細書で用いられるように、用語“ベスト・エフォートＱｏＳ”は、ＱｏＳ保証のない基本的な接続を称する。したがって、ＱｏＳ優先モードで動作している場合は、コーデックのためにＱｏＳを確保することが好ましいが、必要とはされない。
【００３９】
ＷＣＤ１４および通信デバイス１６は、ＱｏＳ要求モードで動作するか、あるいは、ＱｏＳ優先モードで動作するかを選択することができる。ＷＣＤ１４および通信デバイス１６は、例えば、アクセス・ネットワーク１８のそれぞれの１つの基礎をなすラジオ・アクセス技術に基づいてＱｏＳモードを選択することができる。一例として、ＷＣＤ１４は、アクセス・ネットワーク１８Ａが１ｘＥＶ−ＤＯネットワークである場合、ＱｏＳ要求モードで動作するように選択することができる。あるいは、ＷＣＤ１４は、アクセス・ネットワーク１８ＡがＷＬＡＮである場合、ＱｏＳ要求モードまたはＱｏＳ優先モードの何れかで動作することができる。別の例として、アクセス・ネットワーク１８を動作させているサービス・プロバイダは、ＷＣＤ１４および通信デバイス１６が動作する特定のＱｏＳモードを指定することができる。また、別の例では、ユーザが操作しているＷＣＤ１４または通信デバイス１６が、ＱｏＳモードを選択することができる。
【００４０】
図１の例では、ＳＩＰネットワーク１２は、２つのプロキシ・サーバ２０Ａ、２０Ｂと、ＷＣＤ１４と通信デバイス１６である２つのエンドポイント・クライアントとを含む。しかしながら、ＳＩＰインフラストラクチャは、多くのエンドポイントのみならず、任意の数のプロキシ・サーバ、登録サーバ、およびロケーション・サーバを含むことができる。本開示に記載されたＱｏＳ確保技術は、任意のＳＩＰインフラストラクチャを介して通信デバイスによって実行されうる。したがって、図１で示されるようなＳＩＰネットワーク１２は単に典型的であり、本開示で広く記載されるような技術を制限するものとして考慮されるべきでない。
【００４１】
図２は、本開示にしたがってＱｏＳ確保技術を実行する例えば図１のＷＣＤ１４のようなＷＣＤの構成要素の例を例示するブロック図である。ＷＣＤ１４は、アンテナ２２、無線トランシーバ２４、ＱｏＳ確保モジュール２６、コーデック選択モジュール２８、コーダ・デコーダ（コーデック）モジュール３０Ａ−３０Ｎ（集合的に“コーデック３０”）、プロセッサ３２、およびメモリ３４を含んでいる。
【００４２】
トランシーバ２４は、アンテナ２２を経由して無線信号の送信および受信を行う。トランシーバ２４は、例えば増幅器、フィルタ、周波数変換器、変調器、復調器、アナログ／デジタル変換回路、デジタル／アナログ変換回路、およびデジタル・モデム回路のような適切なアナログ回路構成要素および／またはデジタル回路構成要素を含むことができる。
【００４３】
動作中、アンテナ２２は、ＷＣＤ１４によってサポートされたラジオ周波数帯域上で無線信号を送信し受信する。トランシーバ２４は、任意の所望のラジオ・アクセス技術（ＲＡＴ）または任意のＷＬＡＮプロトコルをサポートするように構成されうる。
【００４４】
プロセッサ３２は、無線信号を送信するトランシーバ２４を制御し、かつ、トランシーバ２４によって受信された信号を処理する。プロセッサ３２は、ＳＩＰまたはその他のシグナリング・プロトコルにしたがって、他のデバイスと例えばシグナリング・プロトコル・メッセージを交換することによって、通信セッションのセットアップ、修正、および終了することに責任を持つことができる。特に、プロセッサ３２は、ＳＩＰ要求および応答を生成するために、ユーザ・エージェント・クライアント（ＵＡＣ）処理および／またはエージェント・サーバ（ＵＡＳ）処理を実行することができる。一例として、プロセッサ３２は、ＳＩＰ要求を生成しこの要求をＳＩＰネットワーク１２（図１）の別のデバイスへ送るためにＵＡＣ処理を実行することができる。したがって、プロセッサ３２は、通信セッションの開始デバイスとして機能するために、ＵＡＣ処理を実行することができる。プロセッサ３２は、受信したＳＩＰ要求を処理しＳＩＰ要求に応答するために、ＵＡＳ処理を実行する。したがって、プロセッサ３２は、通信セッションの終了デバイスとして機能するために、ＵＡＳ処理を実行することができる。このように、ＵＡＣ処理およびＵＡＳ処理はそれぞれ、ＳＩＰメッセージの送信および受信のための論理エンティティとして動作する。
【００４５】
ＷＣＤ１４は、多くのコーデック３０をサポートするように構成される。コーデック３０は、例えば、４ＧＶ広帯域コーデック、４ＧＶ狭帯域コーデック、エンハンスト可変レート・コーデック（ＥＶＲＣ）、Ｇ．７２９コーデック、Ｇ．７１１コーデックのみならず、任意の数のその他のタイプのコーデックを含むことができる。ＷＣＤ１４は、アクセス・ネットワーク１８Ａ（図１）に実装される別のラジオ・アクセス技術に基づいて、別のコーデック３０を用いるように構成されうる。一例として、ＷＣＤ１４は、１ｘＥＶ−ＤＯネットワーク内で動作している場合、４ＧＶ広帯域コーデック、４ＧＶ狭帯域コーデック、またはＥＶＲＣのうちの１つを用いるように構成されうる。別の例として、ＷＣＤ１４は、ＷＬＡＮ内で動作している場合、４ＧＶ広帯域コーデック、４ＧＶ狭帯域コーデック、ＥＶＲＣ、Ｇ．７２９コーデック、またはＧ．７１１コーデックのうちの１つを用いるように構成されうる。
【００４６】
ＷＣＤ１４は、メモリ３４内に、コーデック・コンフィグレーション情報３６を格納する。コーデック・コンフィグレーション情報３６は、コーデック３０のおのおのの特性を記載する。一例として、コーデック・コンフィグレーション情報３６は最大符号化データ・レート、つまりデータがコーデックによって出力されるレートと、コーデック３０のおのおのに対する要求と、コーデック３０のおのおのに対する最大許容遅延要求、コーデック３０のおのおのに関連したＱｏＳレベル、コーデック３０のおのおのに関連した優先度、コーデック３０のおのおのに関連する名前等を記述することができる。
【００４７】
コーデック３０のおのおのに関連付けられたＱｏＳレベルは、コーデック３０の最大許容遅延要求および最大符号化データ・レートに基づいて決定されうる。このように、コーデック３０に関連付けられたＱｏＳレベルは、特定のコーデックのＱｏＳ要求に基づいて判定される。例えば、ＥＶＲＣコーデックは、そのレートが９．６ｋｂｐｓであるので、ＱｏＳレベル１に割り当てられうる。一方、Ｇ．７１１は、そのレートが、例えば６４ｋｂｐｓであり、はるかに高いので、ＱｏＳレベル２に割り当てられる。たとえＥＶＲＣとＧ．７１１とが同じレイテンシ要求を持っていたとしても、そうであろう。ＱｏＳレベルの正確な定義は、ＶｏＩＰが展開されているアクセス技術に依存する。１ｘＥＶ−ＤＯネットワークにおいてＶｏＩＰを展開させる場合には、ＱｏＳレベルが、コーデック３０に関連したフロー・プロファイル識別子（ＰｒｏｆｉｌｅＩＤ）と一致する。一例として、単一のＱｏＳレベル（つまり、レベル１）だけが、１ｘＥＶ−ＤＯネットワーク上の展開のために定義される。１ｘＥＶ−ＤＯネットワークについてＱｏＳレベル１に関連付けられたコーデックは、４ＧＶ広帯域コーデック、４ＧＶ狭帯域コーデック、およびＥＶＲＣを含むことができる。ＷＬＡＮネットワークにおいてＶｏＩＰを展開させる場合、１を超えるＱｏＳレベルが定義される。一例として、コーデック３０のおのおのが、２つのＱｏｓレベル、すなわちレベル１とレベル２とのうちの１つに関連付けられうる。ＷＬＡＮ  ＱｏＳレベル１は、４ＧＶ広帯域コーデック、４ＧＶ狭帯域コーデック、ＥＶＲＣ、およびＧ．７２９コーデックを含むことができる。ＷＬＡＮ  ＱｏＳレベル２は、Ｇ．７１１コーデックを含むことができる。本明細書に記載の例は、２つのレベルのＱｏＳに関して説明されているが、本開示の技術は、任意のレベル数のＱｏＳを用いた実装において使用されうる。
【００４８】
コーデック３０のおのおのに関連付けられた優先度はまた、ＶｏＩＰが展開されるアクセス技術に基づくことができる。言い換えれば、ＷＬＡＮとは異なる１ｘＥＶ−ＤＯネットワークを介してＶｏＩＰが展開される場合、コーデック３０のおのおのに関連付けられた優先度は変わりうる。コーデック３０のおのおのに関連付けられた優先度は、コア・ネットワークおよび／またはアクセス・ネットワーク１８のサービス・プロバイダによって決定されうる（図１）。一例として、サービス・プロバイダは、ＷＣＤ１４を使用することを好む１または複数のコーデックを識別することができる。ＷＣＤ１４は、サービス・プロバイダによって優先度が割り当てられていないコーデック３０に対して任意の優先値を割り当てることができる。
【００４９】
上述したように、ＷＣＤ１４は、例えばＱｏＳ要求モードおよびＱｏＳ優先モードのような複数のＱｏＳモードをサポートするように構成されうる。ＱｏＳ要求モードで動作している場合、ＱｏＳ確保モジュール２６は、通信セッションを確立するために、コーデック３０のうちの少なくとも１つのために十分なＱｏＳを確保しなければならない。ＱｏＳ優先モードで動作している場合、ＱｏＳ確保モジュール２６は、コーデック３０のうちの１または複数のためのＱｏＳを確保することを試みることができるが、コーデック３０のうちの何れかに対する十分なＱｏＳを確保することができない場合、ベスト・エフォートＱｏＳを用いて動作する。上述したように、ＷＣＤ１４は、アクセス・ネットワーク１８（図１）のうちのそれぞれ１つの基礎となる技術に基づいて、サービス・プロバイダ要求に基づいて、あるいは、ＷＣＤ１４のユーザからの入力に基づいてＱｏＳモードを選択することができる。
【００５０】
何れのモードにおいても、ＱｏＳ確保モジュール２６は、アクセス技術に対応するＱｏＳ確保手順を用いて、コーデック３０のうちの１または複数のためのＱｏＳを確保することを試みる。ＱｏＳ確保モジュール２６は、基礎となる特定の技術に関連付けられたＱｏＳレベルのおのおののためのＱｏＳを確保することを試みることができる。このように、ＱｏＳ確保モジュール２６が、レベルのためのＱｏＳを確保する場合、対応するＱｏＳレベルに関連付けられたコーデック３０のおのおののためのＱｏＳを確保している。さらに、特定のレベルのためのＱｏＳが確保されている場合、下位レベルに関連付けられた１または複数のコーデックが、高位レベルにおいてサポートされうる。ＱｏＳ確保モジュール２６は、ＱｏＳレベルに対するＱｏＳ確保を、降順中に試みることができる。例えば、ＷＬＡＮによってＶｏＩＰを展開させる場合、ＱｏＳ確保モジュール２６は、まずＱｏＳレベル２のためにＱｏＳを確保することを試み、ＱｏＳレベル２のためにＱｏＳを確保することに失敗した後にのみＱｏＳレベル１のためにＱｏＳを確保することを試みる。上述したように、この技術は、さらに多くのＱｏＳレベルを用いた実装にも利用されうる。
【００５１】
コーデック選択モジュール２８は、ＷＣＤ１４が動作しているＱｏＳモードに基づいて、通信セッション中に使用されるコーデック３０のうちの１または複数を選択する。例えば、ＷＣＤ１４が開始デバイスとして動作している場合、コーデック選択モジュール２８は、コーデック３０のうち、ＩＮＶＩＴＥ要求のＳＤＰ提示内に含める１または複数を選択する。特に、コーデック選択モジュール２８は、メモリ３４からコーデック・コンフィグレーション情報３６を取得し、コーデック３０に関連付けられた優先度に基づいて、コーデック３０のリストを生成する。特に、コーデック選択モジュール２８は、最も高い優先度を持つコーデックから、最も低い優先度を持つコーデックへと、優先度の降順で、コーデック３０のリストを整理する。
【００５２】
コーデック選択モジュール２８は、このリストのコーデック３０に関連付けられたＱｏＳレベルを、ＱｏＳ確保モジュール２６によって確保されたＱｏＳレベルと比較し、ＱｏＳ確保モジュール２６によって確保されたＱｏＳレベルを超える関連付けられたＱｏＳレベルを有する全てのコーデック３０を、コーデックのリストから削除する。ＱｏＳ確保モジュール２６が、例えばＱｏＳレベル１を確保する場合、コーデック選択モジュール２８は、利用可能なコーデックのリストから、全てのＱｏＳレベル２コーデックを削除する。コーデック選択モジュール２８は、確保されたＱｏＳレベルより低いＱｏＳレベルを有するコーデックのリストを、プロセッサ３２へ送る。プロセッサ３２は、利用可能なコーデックのリストを含むＳＤＰ提示を生成し、このＳＤＰ提示を、ＩＮＶＩＴＥ要求のボディとして送る。
【００５３】
例えば、ＱｏＳのどのレベルも確保されていないように、確保されたＱｏＳレベルより低いあるいはそれに等しいＱｏＳレベルを持つコーデック３０が存在しないのであれば、コーデック選択モジュール２８は、ＷＣＤ１４のＱｏＳモードを判定する。ＷＣＤ１４が、ＱｏＳ要求モードで動作しているとコーデック選択モジュール２８が判定した場合、プロセッサ３２は、ＩＮＶＩＴＥ要求が終了デバイスへ送られる前に、セッション確立を終了させる。ＷＣＤ１４がＱｏＳ優先モードで動作しているとコーデック選択モジュール２８が判定した場合、プロセッサ３２は、ＷＣＤ１４によってサポートされている設定された全てのコーデックをＳＤＰ提示内に含むＳＤＰ提示を生成する。このように、ＳＤＰ提示内に含めるコーデックを選択することは、通信デバイスのＱｏＳコンフィグレーション・モードに依存する。
【００５４】
同様のコーデック選択技術は、ＷＣＤ１４がセッション確立における終了デバイスとして動作している場合に、ＳＤＰ回答内に含めるための１または複数のコーデックを、ＳＤＰ提示から選択するために利用される。特に、コーデック選択モジュール２８は、ＳＤＰ提示に含まれるコーデックを、ＷＣＤ１４によってサポートされているコーデックと比較する。そして、本明細書において“マッチング・コーデック”と称される開始デバイスから提示されたコーデックのリストおよびＷＣＤ１４の両方によってサポートされているコーデックのリストを生成する。ＷＣＤ１４が、この提示に含まれる何れのコーデックをもサポートしないのであれば、プロセッサ３２は、説明したようにＷＣＤ１４がセッションを適切にサポートすることができないことを示すメッセージを生成して、開始デバイスへ送る。一例として、プロセッサ３２が４８８応答（“本明細書では許されていない”）を生成してＳＩＰに送ることができる。
【００５５】
この提示内にリストされ、かつ、ＷＣＤ１４によってサポートされているコーデック（すなわち、マッチング・コーデック）が存在する場合、ＱｏＳ確保モジュール２６は、上記で詳しく説明したように、コーデック３０のうちの１または複数のためのＱｏＳを確保することを試みる。コーデック選択モジュール２８は、マッチング・コーデックに関連付けられたＱｏＳレベルを、ＱｏＳ確保モジュール２６によって確保されているＱｏＳレベルと比較する。コーデック選択モジュール２８は、例えば、マッチング・コーデックに関連付けられたＱｏＳレベルを、Ｑｏｓ確保モジュール２６によって確保されたＱｏＳレベルと、優先度に基づく順で比較することができる。言い換えれば、最も高い優先度をもつマッチング・コーデックのＱｏＳレベルを、確保されたＱｏＳレベルと比較し、マッチング・コーデックのＱｏＳレベルが、確保されたＱｏＳレベルより低いまたはそれと等しいのであれば、ＳＤＰ回答に含めるためのコーデックを選択することができる。そのコーデックが、確保されたＱｏＳレベルよりも高いＱｏＳレベルを持っている場合、コーデック選択モジュール２８は、そのコーデックを、次に高い最優度と比較する。コーデック選択モジュール２８は、確保されたＱｏＳレベルより低いまたはそれに等しいＱｏＳレベルを有するものが見つかるまで、マッチング・コーデックのＱｏＳレベルの比較を続ける。プロセッサ３２は、ＳＤＰ回答のうち、確保されたＱｏＳレベル未満またはそれに等しいＱｏｓレベルを有するマッチング・コードのうちの最初の１つを含む。あるいは、コーデック選択モジュール２８は、全てのマッチング・コーデックのＱｏＳレベルを比較し、ＳＤＰ回答に含まれる１より多いコーデックを選択することができる。
【００５６】
確保されたＱｏＳレベルより低いまたはそれに等しいＱｏＳレベルを有するマッチング・コーデックが存在しないのであれば、コーデック選択モジュール２８は、ＷＣＤ１４のＱｏＳモードを判定する。ＷＣＤ１４がＱｏＳ要求モードで動作しているとコーデック選択モジュール２８が判定すると、プロセッサ３２は、セッション確立を終了させる。例えば、プロセッサ３２は、４８８応答を用いてＩＮＶＩＴＥを却下することができる。ＷＣＤ１４がＱｏＳ優先モードで動作しているとコーデック選択モジュール２８が判定した場合、プロセッサ３２は、最も高い優先度を持つマッチング・コーデックを含むＳＤＰ回答を生成する。
【００５７】
通信セッションがネゴシエートされた後、ＱｏＳ確保モジュール２６は、ＱｏＳ確保の調整が必要であるかを判定する。ＱｏＳ確保モジュール２６は、例えば、確保されたＱｏＳの過剰な供給または不十分な供給がある場合には、ＱｏＳ確保を調節する必要がある。過剰な供給の場合、確保されたＱｏＳレベルは、選択されたコーデックに関連付けられたＱｏＳレベルよりも高く、ＱｏＳ確保モジュール２６は、より低いＱｏＳレベルを確保することができる。不十分な供給の場合、ＱｏＳ確保モジュール２６によって確保されたＱｏＳのレベルは、使用中のコーデックによって必要とされているＱｏＳレベルのために十分ではなく、ＱｏＳ確保モジュール２６は、確保されたＱｏＳをリリースすることができる。
【００５８】
図２において例示された様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア、あるいはこれらの任意の組み合わせで実現されうる。幾つかの構成要素は、１または複数のマイクロプロセッサまたはデジタル信号プロセッサ（ＤＳＰ）、１または複数の特定用途向け集積回路（ＡＳＩＣ）、１または複数のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはその他等化な集積または離散論理回路によって実行されるプロセッサまたはモジュールとして実現されうる。モジュールとしての異なる特徴の描写は、ＷＣＤ１４の異なる機能的局面を強調することが意図されており、そのようなモジュールが、個別のハードウェア要素および／またはソフトウェア要素によって実現されねばならないことを必ずしも示唆しているものではない。むしろ、１または複数のモジュールに関連付けられた機能は、共通のまたは個別のハードウェア要素および／またはソフトウェア要素内に統合されうる。したがって、本開示は、ＷＣＤ１４の例に限定されるべきではない。
【００５９】
ソフトウェアで実現される場合、本開示で記述されたシステムおよびデバイスに割り当てられる機能は、例えば、ランダム・アクセス・メモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）、電子的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気または光学データ記憶媒体等のようなメモリ３４等のコンピュータ読取可能媒体上に命令群として組み込まれる。これら命令群は、本開示において記述されるような機能のうちの１または複数の局面をサポートするように実行される。
【００６０】
図３は、ＷＣＤ１４と通信デバイス１６との間の通信セッションを確立するために、例えばＳＩＰメッセージのようなコール制御メッセージの典型的な交換を例示するコール・フロー図である。図３に例示する例では、ＷＣＤ１４は、セッションの開始デバイスであり、通信デバイス１６は、セッションの終了デバイスである。ＷＣＤ１４と通信デバイス１６との間で確立される通信セッションは、例えば、ＶｏＩＰセッションでありうる。図３で例示された例では、ＷＣＤ１４および通信デバイス１６はそれぞれ、本開示の技術にしたがった通信セッションにおける使用のためのコーデックを選択する。
【００６１】
まず、ＷＣＤ１４のユーザが、ＶｏＩＰセッションが確立されることを求めるデバイスで動作しているアプリケーションとインタラクトする。これを受けて、ＷＣＤ１４は、コーデック３０のうちの１または複数のためのＱｏＳを確保することを試みる（４０）。一例として、ＱｏＳ確保モジュール２６は、基礎をなす特定のアクセス技術に関連するＱｏＳレベルのおのおののためにＱｏＳを確保することを試みることができる。ＱｏＳ確保モジュール２６は、ＱｏＳレベルの降順で、ＱｏＳ確保を試みることができる。
【００６２】
さらに、ＷＣＤ１４は、ＷＣＤ１４のＱｏＳモードに基づいて、ＳＤＰ提示に含まれるべき１または複数のコーデックを選択する（４２）。上記に詳細に記載したように、ＷＣＤ１４は、ＱｏＳが確保されたコーデックを選択する。ＷＣＤ１４によってサポートされた任意のコーデック３０のためのリソースを確保することが可能ではない場合、ＷＣＤ１４は、ＷＣＤ１４のＱｏＳモードを判定する。ＷＣＤ１４がＱｏＳ要求モードで動作している場合、ＷＣＤ１４は、ＩＮＶＩＴＥメッセージを送る前に、セッション確立を終了させる。しかしながら、ＷＣＤ１４がＱｏＳ優先モードで動作している場合、ＷＣＤ１４は、ＷＣＤ１４によってサポートされ、ＳＤＰ提示に含まれる全てのコーデックを選択し、もって、ベスト・エフォートＱｏＳを用いて動作する。
【００６３】
ＷＣＤ１４は、選択されたコーデックを識別するＳＤＰ提示を含むＩＮＶＩＴＥ要求を構築し、このＩＮＶＩＴＥ要求をプロキシ・サーバ２０へ送る（４４）。このＩＮＶＩＴＥ要求は、例えばその他のＳＩＰヘッダのようなコール制御プロトコルに一致させるために必要なその他の情報を含むことができる。プロキシ・サーバ２０は、例示の容易さのために、単一のブロックへグループ化される。しかしながら、プロキシ・サーバ・ブロックは、ＳＩＰメッセージをＷＣＤ１４および通信デバイス１６と互いに交換することによって、セッションの確立を容易にするプロキシ・サーバおよびその他のＳＩＰデバイスの数を表す。
【００６４】
ＩＮＶＩＴＥ要求を受信すると、図１における例えばプロキシ・サーバ２０Ａのように、ＷＣＤ１４に関連付けられたプロキシ・サーバ２０のうちの１つが、ＷＣＤ１４へと１００Ｔｒｙｉｎｇ応答を送る（４５）。プロキシ・サーバ２０は、ＩＮＶＩＴＥ要求を処理し、そして、このＩＮＶＩＴＥ要求を、最終的には、例えばプロキシ・サーバ２０Ｂ（図１）のような通信デバイス１６に関連付けられたプロキシ・サーバ２０のうちの１つを経由して通信デバイス１６へと経路付ける（４６）。
【００６５】
通信デバイス１６は、プロキシ・サーバ２０によるこのＩＮＶＩＴＥの再送信を抑えるために、１００Ｔｒｙｉｎｇ応答を送る（４７）。通信デバイス１６は、マッチング・コーデックのうちの１または複数のためにＱｏＳを確保することを試みる（４８）。上述したように、通信デバイス１６は、ＳＤＰ回答に含めるために、通信デバイス１６のＱｏＳモードに基づいて、ＳＤＰ提示にリストされたコーデックのうちの１または複数を選択する（５０）。通信デバイスは、そのＱｏＳが確保されておりかつＳＤＰ提示内に示された通信デバイス１６のうち最も好適なコーデックを選択する。ＱｏＳが、提示された何れのコーデックのためにも確保することができない場合、通信デバイス１６は、通信デバイス１６がＱｏＳ要求モードで動作しているのであれば、適切な失敗応答を送るか、あるいは、通信デバイス１６がＱｏＳ優先モードで動作しているのであれば、提示内で最も好適なコーデックを選択する。
【００６６】
通信デバイス１６は、１または複数の選択されたコーデックを含むＳＤＰ回答を構築し、このＳＤＰ回答を含む１８０Ｒｉｎｇｉｎｇ応答を送る（５２）。プロキシ・サーバ２０は、この１８０Ｒｉｎｇｉｎｇ応答を処理し、それを、ＷＣＤ１４に関連付けられたプロキシ・サーバ２０のうちの１つを経由してＷＣＤ１４へ経路付ける（５４）。１８０Ｒｉｎｇｉｎｇは、ＷＣＤ１４における初期の対話を確立する。
【００６７】
ＷＣＤ１４は、ＳＤＰ回答のボディを検査する。ＷＣＤ１４は、ＳＤＰ回答のボディに含まれていないコーデックを探すことをやめることができる。ＷＣＤ１４は、リソース確保が、コールされたパーティ側で完了していることを確認する。一例として、ＳＤＰ回答は、セッションを確立するために必要な事前条件の全てが満たされていることを示すことができる。したがって、ＷＣＤ１４は、リングバック・トーンをローカルに再生することができる（５６）。ＷＣＤ１４は、確実な１８０Ｒｉｎｇｉｎｇの受信をアクノレッジするＰＲＡＣＫ要求を送る（５８）。このＰＲＡＣＫ要求は、一般には、メッセージ・ボディを含んではいけない。プロキシ・サーバ２０は、ＰＲＡＣＫ要求を通信デバイス１６へ転送する（６０）。
【００６８】
通信デバイス１６は、アクノレッジされていない信頼できる暫定的な応答（この場合、１８０Ｒｉｎｇｉｎｇ）にＰＲＡＣＫがマッチすることを確認する。通信デバイス１６は到来するコールを、コールされたパーティに警告する警告トーンを生成する（６２）。ＰＲＡＣＫは、信頼できる暫定的な応答と一致しているので、通信デバイス１６は、２００  ＯＫをもって応答する（６４）。２００  ＯＫ応答は、プロキシ・サーバ２０によってＷＣＤ１４へ転送される（６６）。
【００６９】
コールされたパーティは、通信デバイス１６に対して答える（６８）。コールされたパーティが答えると、通信デバイス１６は、ＩＮＶＩＴＥトランザクションのために２００  ＯＫ最終応答を送る（７０）。プロキシ・サーバ２０は、この２００  ＯＫ応答を、ＷＣＤ１４に転送する（７２）。２００  ＯＫは、ＷＣＤ１４と通信デバイス１６との間の確認された対話を確立する。ＷＣＤ１４は、２００  ＯＫをアクノレッジするＡＣＫ要求を送る（７４）。プロキシ・サーバ２０は、このＡＣＫを通信デバイス１６へ転送する（７６）。
【００７０】
必要であれば、ＷＣＤ１４は、ＱｏＳ確保を調節することができる（７８）。ＱｏＳ確保が、ＳＤＰ回答で指定されたコーデックに必要とされるものに関して過剰であれば、ＷＣＤ１４は、ＱｏＳ確保の過剰な部分をリリースすることができる。ＱｏＳ優先モードにおいて起こりうることであるが、確保されたＱｏＳが、ＳＤＰ回答で指定されたコーデックに必要とされるものより低いのであれば、それは、使用されているコーデックのために十分ではないので、ＷＣＤ１４は、確保されたＱｏＳの全てをリリースすることができる。しかしながら、ＷＣＤ１４は、以前に確保されたＱｏＳをリリースするように選択することができる。
【００７１】
ここで、ＳＩＰセッションは、ＷＣＤ１４と通信デバイス１６との間で確立されている。ＳＩＰセッションは、一方のパーティがハングアップするまで続く。ＷＣＤ１４および通信デバイス１６は、ネゴシエートされたコーデックを用いて、双方向ＲＴＰマルチメディアを交換する（８０）。
【００７２】
図４は、ＷＣＤ１４と通信デバイス１６との間の通信セッションを確立するために、例えばＳＩＰメッセージのようなコール制御メッセージの別の典型的な交換を例示するコール・フロー図である。図４に例示するフロー図は、図３のフロー図と実質的に一致する。しかし、図４のフロー図では、本開示の技術にしたがった通信セッションにおいて使用するためのコーデックをＷＣＤ１４のみが選択する。
【００７３】
まず、ＷＣＤ１４のユーザが、ＶｏＩＰセッションが確立されることを求めるデバイスで動作しているアプリケーションとインタラクトする。これを受けて、ＷＣＤ１４は、コーデック３０のうちの１または複数のためのＱｏＳを確保することを試みる（８０）。そして、ＷＣＤ１４のＱｏＳモードに基づいて、ＳＤＰ提示内に含められる１または複数のコーデックを選択する（８２）。上記で詳細に説明したように、ＷＣＤ１４は、ＱｏＳが確保されているコーデックを選択する。ＷＣＤ１４によってサポートされた任意のコーデック３０のためにリソースを確保することが可能ではない場合、ＷＣＤ１４は、ＷＣＤ１４のＱｏＳモードを判定する。ＷＣＤ１４が、ＱｏＳ要求モードで動作している場合、ＷＣＤ１４は、ＩＮＶＩＴＥメッセージを送る前にセッション確立を終了する。しかしながら、ＷＣＤ１４が、ＱｏＳ優先モードで動作している場合、ＷＣＤ１４は、ＷＣＤ１４によってサポートされている全てのコーデックをＳＤＰ提示内に含めることを選択し、もって、ベスト・エフォートＱｏＳを用いて動作することができる。
【００７４】
ＷＣＤ１４は、選択されたコーデックのリストを識別するＳＤＰ提示を含むＩＮＶＩＴＥ要求を構築し、このＩＮＶＩＴＥ要求をプロキシ・サーバ２０へ送る（８４）。プロキシ・サーバ２０は、このＩＮＶＩＴＥ要求を受信すると、１００Ｔｒｙｉｎｇ応答をＷＣＤ１４へ送り（８５）、このＩＮＶＩＴＥ要求を通信デバイス１６へ転送する（８６）。
【００７５】
通信デバイス１６は、例えば１８３Ｐｒｏｇｒｅｓｓ暫定応答のような暫定的な応答を生成し、送信する（８８）。１８０応答は、ＱｏＳが確保される前に、リンギング（ringing）を引き起し、リソース確保の完了前にセッションが確立されるようにすることができるので、通信デバイス１６は、１８０応答を送ることができない。これは悪いユーザ経験に至るだろう。この暫定的な応答は、必要なＱｏＳの確保を含むセッションの事前条件が満たされていないことを示すＳＤＰ回答を含む。言い換えれば、通信デバイス１６は、まだ必要なＱｏＳを確保していない。しかしながら、ＳＤＰ回答は、通信デバイス１６によってサポートされた１または複数のコーデックを含んでいる。プロキシ・サーバ２０は、１８３Ｐｒｏｇｒｅｓｓ応答をＷＣＤ１４へ転送する（９０）。
【００７６】
ＷＣＤ１４は、ＳＤＰ回答のボディを検査し、ＳＤＰ回答に含まれた最も好適なコーデックを探し始める。さらに、ＷＣＤ１４は、ＳＤＰ回答から、確保された十分なＱｏＳを持つセッションを確立するために必要な事前条件が、通信デバイス１６においてまだ満足されていないと判定する。
【００７７】
ＷＣＤ１４は、確実な１８３Ｐｒｏｇｒｅｓｓの受信をアクノレッジ^するＰＲＡＣＫ要求を送る（９２）。プロキシ・サーバ２０は、このＰＲＡＣＫ要求を通信デバイス１６へ転送する（９４）。通信デバイス１６は、アクノレッジされていない信頼できる暫定的な応答（この場合、１８３Ｐｒｏｇｒｅｓｓ）にＰＲＡＣＫがマッチすることを確認する。ＰＲＡＣＫが、信頼できる暫定的な応答とマッチしているので、通信デバイス１６は、２００  ＯＫを持って応答する（９６）。プロキシ・サーバは、２００  ＯＫ応答をＷＣＤ１４へ転送する（９８）。
【００７８】
通信デバイス１６は、ＱｏＳ確保を完了する（１００）。通信デバイス１６は、ＩＮＶＩＴＥが受信された後、いつでもＱｏＳ確保を開始することができる。図４に例示する例では、通信デバイス１６は、例えば、コーデック交換や、ＱｏＳ確保の状況を変更することのように、セッションの局面を修正することができる。通信デバイス１６は、新たなＳＤＰ提示を含むＵＰＤＡＴＥ要求を構築し、このＵＰＤＡＴＥ要求を送ることができる（１０２）。プロキシ・サーバ２０は、このＵＰＤＡＴＥ要求をＷＣＤ１４に転送することができる（１０４）。ＷＣＤ１４は、対話途中における宛先リフレッシュ要求としてＵＰＤＡＴＥ要求を処理することができる。特に、ＷＣＤ１４は、ＳＤＰ回答に含められる１または複数のコーデックを選択する（１０６）。ＷＣＤ１４はまず、（例えば、ステップ８０における）前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリスト内に含まれているか否かを判定する。前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリストに含まれている場合、ＷＣＤ１４は、前に選択されたコーデックを選択する。前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリスト内に含まれていない場合、ＷＣＤ１４は、優先度の順番でソートされたマッチング・コーデックのリストを生成する。ＷＣＤ１４は、前に（例えば、ステップ８０において）生成されたＱｏＳ確保に基づいてコーデックを選択することを試みる。新たな提示に含まれるコーデックのうちの１つが、前に確保されたＱｏＳレベルより低いかあるいはそれに等しいＱｏＳレベルを持つのであれば、ＷＣＤ１４は、そのコーデックを選択する。ＷＣＤ１４は、十分なＱｏＳが以前に確保されていない１または複数のコーデックが存在すると判定した後にのみ新たなＱｏＳ確保を試みる。その後、ＷＣＤ１４は、新たに確保されたＱｏＳに基づいてコーデックを選択する。このように、ＷＣＤ１４は、前のＱｏＳ確保が不十分である場合にのみ、新たなＱｏＳ確保を実行する。
【００７９】
ＷＣＤ１４は、選択されたコーデックを識別するＳＤＰ回答を含む２００  ＯＫ応答を生成し、この２００  ＯＫ応答を、プロキシ・サーバ２０へ送る（１０８）。プロキシ・サーバ２０は、この２００  ＯＫ応答を、通信デバイス１６へ転送する（１１０）。通信デバイス１６は、セッションのいかなる局面をも修正する必要はない。それゆえ、ステップ１０２−１１０は、セッションに対する修正が必要である状況においてのみ実行される。
【００８０】
通信デバイス１６が、この時点において事前条件を満足しているので、通信デバイス１６は、１８０ＲｉｎｇｉｎｇをＷＣＤ１４へ送る（１１２）。プロキシ・サーバ２０は、この１８０Ｒｉｎｇｉｎｇ応答をＷＣＤ１４へ転送する（１１４）。ＷＣＤ１４は、リングバック・トーンをローカルに再生することができる（１１６）。ＷＣＤ１４は、ネットワークから、カスタマイズされたリングバック・トーンを受信すると、受信したトーンを、ローカルなリンギングの代わりに再生する。その後、ＷＣＤ１４は、信頼できる１８０Ｒｉｎｇｉｎｇの受信をアクノレッジするＰＲＡＣＫ要求を送る（１１８）。プロキシ・サーバ２０は、通信デバイス１６へＰＲＡＣＫ要求を転送する（１２０）。
【００８１】
通信デバイス１６は、ＰＲＡＣＫが、アクノレッジされていない信頼できる暫定的な応答（この場合、１８０Ｒｉｎｇｉｎｇ）とマッチすることを確認し、２００  ＯＫをもって応答する（１２４）。２００  ＯＫ応答は、プロキシ・サーバ２０によってＷＣＤ１４へ転送される（１２６）。さらに、例えば、通信デバイス１６のユーザのようなコールされたパーティは、警告トーンを用いて、到来するコールについて警告される（１２２）。
【００８２】
コールされたパーティは、通信デバイス１６に対して回答する（１２８）。コールされたパーティが回答すると、通信デバイス１６は、ＩＮＶＩＴＥトランザクションのための２００  ＯＫ最終応答を送る（１３０）。プロキシ・サーバ２０は、２００  ＯＫ応答をＷＣＤ１４へ転送する（１３２）。２００  ＯＫは、ＷＣＤ１４と通信デバイス１６との間の確認された対話を確立する。ＷＣＤ１４は、２００  ＯＫをアクノレッジするＡＣＫ要求を送る（１３４）。プロキシ・サーバ２０は、このＡＣＫを通信デバイス１６へ転送する（１３６）。
【００８３】
必要であれば、ＷＣＤ１４は、不要なＱｏＳ確保をリリースすることができる（１３８）。ここで、ＷＣＤ１４と通信デバイス１６との間でＳＩＰセッションが確立されている。ＳＩＰセッションは、一方のパーティがハングアップするまで継続する。ＷＣＤ１４および通信デバイス１６は、ネゴシエートされたコーデックを用いて、双方向ＲＴＰマルチメディアを交換する（１４０）。
【００８４】
図５は、ＷＣＤ１４と通信デバイス１６との間の通信セッションを確立するためのコール制御メッセージのさらに別の典型的な交換を例示するコール・フロー図である。図３に例示する例では、開始デバイス、すなわち通信デバイス１６は、本発明の技術にしたがって、ＱｏＳを確保することも、コーデックを選択することもしない。しかしながら、終了デバイス、すなわちＷＣＤ１４が、本開示の技術にしたがって、通信セッションで使用するためにＱｏＳを確保し、コーデックを選択する。
【００８５】
通信デバイス１６は、ＶｏＩＰセッションを開始する通信デバイス１６のユーザからのインタラクションに応答して、ＳＤＰ提示を含むＩＮＶＩＴＥ要求を生成し、送信する（１４２）。このＳＤＰ提示は、セッションを確立するために満足されねばならない事前条件のみならず、通信デバイス１６によってサポートされた提案されたコーデックのリストを含む。プロキシ・サーバ２０は、このＩＮＶＩＴＥ要求をＷＣＤ１４に転送する（１４４）。
【００８６】
ＷＣＤ１４は、リスト内に存在し、かつ、ＷＣＤ１４によってサポートされているコーデックであるマッチング・コーデックのうちの１または複数のためのＱｏＳを確保することを試みる。さらに、ＷＣＤ１４は、ＷＣＤ１４のＱｏＳモードに基づいて、ＳＤＰ提示にリストされたコーデックのうち、ＳＤＰ回答内に含めるべき１または複数を選択する（１４６）。特に、ＷＣＤ１４は、ＱｏＳが確保され、かつＳＤＰ提示内に存在する通信デバイス１６の最も好適なコーデックを選択する。提示されたコーデックのためにＱｏＳを確保できない場合、ＷＣＤ１４は、ＷＣＤ１４がＱｏＳ要求モードで動作しているのであれば、適切な失敗応答を送るか、あるいは、ＷＣＤ１４がＱｏＳ優先モードで動作しているのであれば、この提示内の最も好適なコーデックを選択する。
【００８７】
ＷＣＤ１４は、ＷＣＤ１４によって選択されたコーデックを指定するＳＤＰ回答を含む１８３Ｐｒｏｇｒｅｓｓ応答を構築し、この１８３Ｐｒｏｇｒｅｓｓ応答を送る（１４８）。プロキシ・サーバ２０は、１８３Ｐｒｏｇｒｅｓｓ応答を通信デバイス１６へ転送する（１５０）。通信デバイスは、１８３Ｐｒｏｇｒｅｓｓ応答の受信をアクノレッジするＰＲＡＣＫ要求を送る（１５２）。通信デバイス１６は今や、ＷＣＤ１４がＳＤＰ提示を受諾したことを知っており、最初の提示／回答交換によって選択されたコーデックのためのＱｏＳ確保を開始する（１５６）。通信デバイス１６は、ＰＲＡＣＫ要求を送ることと同時に、コーデックのためのＱｏＳ確保を開始することができる。
【００８８】
プロキシ・サーバ２０は、ＰＲＡＣＫ要求をＷＣＤ１４へ転送する（１５４）。ＷＣＤ１４は、ＰＲＡＣＫが、アクノレッジされていない信頼できる暫定的な応答（この場合、１８３Ｐｒｏｇｒｅｓｓ）とマッチすることを確認し、２００  ＯＫをもって応答する（１５７）。プロキシ・サーバ２０は、２００  ＯＫを、開始通信デバイス１６へ転送する（１５８）。
【００８９】
通信デバイス１６は、ＱｏＳ確保が完了しローカルな事前条件が満足されたという情報を受信する（１６０）。通信デバイス１６は、このローカルな事前条件が満足されていることを示す新たなＳＤＰ提示とともにＵＰＤＡＴＥメッセージを送信する（１６２）。プロキシ・サーバ２０は、このＵＰＤＡＴＥ要求を、ＷＣＤ１４へ転送する（１６４）。
【００９０】
ＷＣＤ１４は、この新たなＳＤＰ提示に応答して、コーデック選択およびＱｏＳ確保を完了する（１６６）。本明細書に詳細に記載されているように、ＷＣＤ１４はまず、（例えば、ステップ１４６における）前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリストに含まれているかを判定する。前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリストに含まれるのであれば、ＷＣＤ１４は、前に選択されたコーデックを選択する。前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリスト内に含まれないのであれば、ＷＣＤ１４は、優先度の順にソートされたマッチング・コーデックのリストを生成する。ＷＣＤ１４は、（例えば、ステップ１４６において）前になされたＱｏＳ確保に基づいてコーデックを選択することを試みる。新たな提示に含まれるコーデックのうちの１つが、前に確保されたＱｏＳレベルより低いかまたはそれに等しいＱｏＳレベルを持つのであれば、ＷＣＤ１４は、そのコーデックを選択する。ＷＣＤ１４は、十分なＱｏＳが前に確保された１または複数のコーデックが存在すると判定した後にのみ新たなＱｏＳ確保を試みる。その後、ＷＣＤ１４は、新たに確保されたＱｏＳに基づいてコーデックを選択する。このように、ＷＣＤ１４は、前のＱｏＳ確保が不十分である場合にのみ、新たなＱｏＳ確保を実行する。ＷＣＤ１４は、選択されたコーデックを示すＳＤＰ回答を含む２００  ＯＫを送る（１６８）。プロキシ・サーバ２０は、ＳＤＰ回答を含む２００  ＯＫを、通信デバイス１６へ転送する（１７０）。
【００９１】
ＷＣＤ１４と通信デバイス１６との両方が事前条件を満足するとＷＣＤ１４が判定した後であればいつでも、ＷＣＤ１４は、１８０Ｒｉｎｇｉｎｇ応答を送る（１７２）。プロキシ・サーバ２０は、１８０Ｒｉｎｇｉｎｇ応答を通信デバイス１６へ転送する（１７４）。通信デバイス１６は、リングバック・トーンをローカルに再生する（１７６）。
【００９２】
その後、通信デバイス１６は、信頼できる１８０Ｒｉｎｇｉｎｇの受信をアクノレッジするＰＲＡＣＫ要求を送る（１７８）。プロキシ・サーバ２０は、ＰＲＡＣＫ要求をＷＣＤ１４へ転送する（１８０）。ＷＣＤ１４は、このＰＲＡＣＫが、アクノレッジされていない信頼できる暫定的な応答（この場合、１８０Ｒｉｎｇｉｎｇ）とマッチすることを確認し、２００  ＯＫを持って応答する（１８４）。この２００  ＯＫ応答は、プロキシ・サーバ２０によって通信デバイス１６へ転送される（１８６）。ＷＣＤ１４は、コールされたパーティに、到来するコールを警告する警告トーンを生成する（１８２）。
【００９３】
コールされたパーティは、ＷＣＤ１４に応答する（１８８）。このコールされたパーティが応答すると、ＷＣＤ１４は、ＩＮＶＩＴＥトランザクションに対する２００  ＯＫ最終応答を送る（１９０）。プロキシ・サーバ２０は、この２００  ＯＫ応答を、通信デバイス１６へ転送する（１９２）。この２００  ＯＫは、ＷＣＤ１４と通信デバイス１６との間の確認された対話を確立する。通信デバイス１６は、２００  ＯＫをアクノレッジするＡＣＫ要求を送る（１９４）。プロキシ・サーバ２０は、このＡＣＫをＷＣＤ１４へ転送する（１９６）。
【００９４】
必要であれば、ＷＣＤ１４は、不要なＱｏＳ確保をリリースすることができる（１９８）。ここで、ＷＣＤ１４と通信デバイス１６との間でＳＩＰセッションが確立された。このＳＩＰセッションは、一方のパーティがハングアップするまで継続する。ＷＣＤ１４および通信デバイス１６は、ネゴシエートされたコーデックを用いて、双方向ＲＴＰマルチメディアを交換する（２００）。
【００９５】
図６は、ＷＣＤ１４と通信デバイス１６との間の通信セッションを確立するためのコール制御メッセージのさらなる典型的な交換を例示するコール・フロー図である。図６のコール・フロー図は、図５のフローチャートと実質的に一致する。しかし、図６のコール・フロー図では、通信デバイス１６が、新たなＳＤＰ提示を送る前に、そのＱｏＳ確保を完了する。特に、通信デバイス１６は、ＱｏＳ確保の完了前にＰＲＡＣＫ要求を送信し、かつ、その後、図３のコール・フロー図に示すように新たなＳＤＰ提示をもってＵＰＤＡＴＥメッセージを送る代わりに、１８３Ｐｒｏｇｒｅｓｓ応答に対して、ＰＲＡＣＫ要求で新たなＳＤＰ提示を送る（２１０，２１２）。
【００９６】
図７は、例えば図２のＷＣＤ１４のように、ＷＣＤ１４のＱｏＳコンフィグレーション・モードに基づいて、ＳＤＰ提示内に含める１または複数のコーデック３０のセットを選択する通信デバイスの典型的な動作を例示するフロー図である。この場合、ＷＣＤ１４は、ＳＩＰセッションにおける開始デバイスとして動作している。まず、ＷＣＤ１４は、１または複数のコーデックのためにＱｏＳを確保することを試みる（２２０）。例えば、ＷＣＤ１４は、降順のＱｏＳレベルでコーデックに関連付けられた１または複数のＱｏＳレベルのためのＱｏＳを確保することを試みることができる。例えば、ＷＬＡＮによってＶｏＩＰを展開する場合、ＷＣＤ１４はまず、ＱｏＳレベル２のためのＱｏＳを確保することを試み、ＱｏＳレベル２のためのＱｏＳの確保に失敗した後にのみ、ＱｏＳレベル１のためのＱｏＳの確保を試みる。ＷＣＤ１４は、任意の数のＱｏＳレベルを定義することができる。しかしながら、一般的な目的のために、２つのＱｏＳレベルしか説明していない。
【００９７】
ＷＣＤ１４は、メモリ３４からコーデック・コンフィグレーション情報３６を検索し、ＷＣＤ１４によってサポートされ、かつ基礎をなすアクセス技術による通信における使用に適したコーデック３０のリストを生成する（２２２）。ＷＣＤ１４は、コーデック３０に関連付けられた優先度に基づいて、例えば、優先度に基づく降順にしたがって、コーデック３０のリストを整えることができる。上述したように、コーデック３０のおのおのに関連付けられた優先度は、特定のサービス・プロバイダの属性に基づいて割り当てられる。
【００９８】
ＷＣＤ１４は、リスト内の第１のコーデックに関連付けられたＱｏＳレベルを、ＱｏＳが確保されたＱｏＳレベルと比較し（２２４）、第１のコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルより低いかあるいはそれに等しいかを判定する（２２６）。このように、ＷＣＤ１４は、ＱｏＳがリストのうちの第１のコーデックのために確保されているかを判定する。ソートされたリスト内の第１のコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルより低いかあるいはそれに等しいのであれば、ＷＣＤ１４は、このコーデックを、ＳＤＰ提示内に含まれるべきコーデックのリストに保持する（２２８）。ソートされたリスト内の第１のコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルを超えるのであれば、ＷＣＤ１４は、このコーデックを、ＳＤＰ提示内に含まれるべきコーデックのリストから削除する（２３０）。
【００９９】
この第１のコーデックをリストに保持するか否かの判定を行った後、ＷＣＤ１４は、コーデックのソートされたリスト内に残っているその他のコーデックが存在するかを判定する（２３２）。コーデックのソートされたリスト上にさらにコーデックが存在するのであれば、ＷＣＤ１４は、リスト上の次のコーデックに関連付けられたレベルを、確保されたＱｏＳレベルと比較して、リスト上の第１のコーデックに関して上述したようなＳＤＰ提示内に含めるために、このコーデックを、コーデックのリストに保持するか否かを判定する。ＷＣＤは、リスト上の全てのコーデック３０が分析されるまで、リストのコーデックに関連付けられたレベルを、確保されたＱｏＳレベルと比較し続ける。
【０１００】
サポートされているコーデックのリストのうちのコーデックのおのおののためにＱｏＳが確保されているかをＷＣＤ１４が判定した場合、ＷＣＤ１４は、ＱｏＳが確保されたコーデックが存在するかを判定する（２３４）。例えば、ＷＣＤ１４は、リスト上に残っているコーデックが存在するかを確認することができる。上述したように、ＱｏＳがコーデックのために確保された場合、すなわち、コーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルより低いかあるいはそれに等しいのであれば、ＷＣＤ１４は、このコーデックをリストに保持する。リスト上の１または複数のコーデックのためにＱｏＳが確保されている場合、ＷＣＤ１４は、ＱｏＳが確保されたコーデックをリストしているＳＤＰ提示を含むＳＩＰメッセージを生成して、送信する（２３６）。このＳＤＰ提示はまた、ＷＣＤ１４との通信セッションを確立するために、終了デバイスが満足せねばならないその他多くの事前条件を含む。
【０１０１】
リスト上の任意のコーデックのためにＱｏＳが確保されていない場合、ＷＣＤ１４は、ＷＣＤ１４のＱｏＳモードを識別する（２３８）。ＷＣＤ１４が、ＱｏＳ要求モードで動作している場合、ＷＣＤ１４は、ＩＮＶＩＴＥ要求を送る前にセッション確立を終了する（２４０）。ＷＣＤ１４が、ＱｏＳ優先モードで動作している場合、ＷＣＤ１４は、ＷＣＤ１４によってサポートされ、かつ、基礎をなすアクセス技術による通信における使用に適している全てのコーデックをリストしているＳＤＰ提示を生成して、送信する（２４２）。ＳＤＰ提示に含まれるコーデックのリストは、上述したような優先度に基づいて順序付けられうる。
【０１０２】
図８は、  例えば、図２のＷＣＤ１４のように、ＳＤＰ提示を受信し、かつ、ＷＣＤ１４のＱｏＳモードに基づいてコーデックのサブセットを選択する  通信デバイスの典型的な動作を例示するフロー図である。この場合、ＷＣＤ１４は、ＳＩＰセッションの終了デバイスとして動作している。まず、ＷＣＤ１４は、プロキシ・サーバ２０ＡからＳＤＰ提示を受信する（２５０）。このＳＤＰ提示は、例えば図１の通信デバイス１６のような送信デバイスがサポートする提示済コーデックのリストを含む。このＳＤＰ提示はさらに、通信セッションを確立するためにＷＣＤ１４が満足しなくてはならない追加の事前条件をも含む。
【０１０３】
ＷＣＤ１４は、メモリ３４からコーデック・コンフィグレーション情報３６を検索し、ＷＣＤ１４によってサポートされ、かつ、基礎をなすアクセス技術による通信における使用に適したコーデック３０のリストを生成する（２５２）。ＷＣＤ１４は、例えば、優先度に基づく降順で、コーデック３０に関連付けられた優先度に基づいてコーデック３０のリストを整えることができる。
【０１０４】
ＷＣＤ１４は、マッチング・コーデックのリストとして本明細書で称されているように、ＳＤＰ提示に含まれかつＷＣＤ１４によってサポートされているコーデックのリストに含まれているコーデックのリストを生成する（２５４）。このマッチング・コーデックのリストは、ローカル・デバイス、すなわちＷＣＤ１４の設定順にソートされうる。ＷＣＤ１４は、マッチング・コーデックのリストに含まれているコーデックが存在するかを判定する（２５６）。ＳＤＰ提示に含まれＷＣＤ１４によってサポートされているコーデックのリストに含まれたコーデックが存在しないのであれば、ＷＣＤ１４は、ＷＣＤ１４が上述したようにセッションを適切にサポートすることができないことを示すメッセージを返す（２５８）。例えば、ＷＣＤ１４は、４８８応答を送ることができる。
【０１０５】
ＳＤＰ提示に含まれＷＣＤ１４によってサポートされているコーデックのリスト、すなわち、マッチング・コーデックのリストに含まれるコーデックが存在する場合、ＷＣＤ１４は、コーデックのうちの１または複数のためのＱｏＳを確保することを試みる（２６０）。ＷＣＤ１４は、例えば、ＱｏＳレベルの降順にしたがって、コーデックに関連付けられた１または複数のＱｏＳレベルのためのＱｏＳの確保を試みることができる。
【０１０６】
ＷＣＤ１４は、マッチング・コーデックのリストから、第１のコーデックを選択する（２６２）。ＷＣＤ１４は、マッチング・コーデックのリスト内の選択されたコーデックに関連付けられたＱｏＳレベルを、ＱｏＳが確保されたＱｏＳレベルと比較し（２６４）、選択されたコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルより低いかあるいはそれに等しいかを判定する（２６６）。このようにして、ＷＣＤ１４は、リストのうちの選択されたコーデックのためにＱｏＳが確保されているかを判定する。マッチング・コーデックのリスト内の、選択されたコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルより低いかあるいはそれと等しいのであれば、ＷＣＤ１４は、選択されたコーデックをリストするＳＤＰ回答を生成する（２６８）。
【０１０７】
マッチング・コーデックのリスト内の選択されたコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルを超えるのであれば、ＷＣＤ１４は、マッチング・コーデックのリスト内に残っているその他のコーデックが存在するかを判定する（２７０）。マッチング・コーデックのリスト内にコーデックが存在するのであれば、ＷＣＤ１４は、マッチング・コーデックのリストにおける次のコーデックを選択し（２７１）、このリスト上の選択されたコーデックに関連付けられたＱｏＳレベルを、確保されたＱｏＳレベルと比較して、このコーデックをＳＤＰ回答内に含めるか否かを判定する。ＷＣＤは、コーデックのうちの１つに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルより低いかあるいは等しくなるまで、または、マッチング・リスト内にさらなるコーデックが存在しなくなるまで、マッチング・コーデックのリストのコーデックに関連付けられたＱｏＳレベルを、確保されたＱｏＳレベルと比較し続ける。
【０１０８】
マッチング・コーデックのリスト内にこれ以上コーデックが存在しない場合、ＷＣＤ１４は、ＷＣＤ１４のＱｏｓモードを識別する（２７２）。ＷＣＤ１４が、ＱｏＳ要求モードで動作している場合、ＷＣＤ１４は、セッション確立を終了する（２７４）。例えば、ＷＣＤ１４は、４８８応答を送信して、セッション確立を終了する。さらに、ＷＣＤ１４は、もしも存在するならば、前に確保されたＱｏＳをリリースすることができる。ＷＣＤ１４がＱｏＳ優先モードで動作している場合、ＷＣＤ１４は、コーデックのマッチング・リスト内に、最も高い優先度を持つコーデックをリストするＳＤＰ回答を生成して、送信する（２７６）。
【０１０９】
図８に示す例では、ＳＤＰ回答に１つのみのコーデックしか含まれていないが、ＷＣＤ１４は、ＳＤＰ回答に１よりも多いコーデックを含むことができる。ＱｏＳ優先モードでは、例えば、コーデックの何れもが、確保されたＱｏＳレベルより低いかあるいはそれに等しいレベルを持たないのであれば、ＷＣＤ１４は、マッチング・リスト内のコーデックの全ての含むＳＤＰ回答を生成することができる。同様に、ＷＣＤ１４は、マッチング・リスト内の全てのコーデックのＱｏＳレベルを、確保されたＱｏＳレベルと比較し、確保されたＱｏＳレベルより低いかあるいはそれに等しいＱｏＳレベルを持つマッチング・リストのコーデックのうちの全てを含むＳＤＰ回答を生成する。
【０１１０】
図９は、例えば、図２のＷＣＤ１４のように、ＳＤＰ提示を受信し、かつ、ＷＣＤ１４のＱｏＳモードに基づいてコーデックのサブセットを選択する  通信デバイスの典型的な動作を例示するフロー図である。ＷＣＤ１４は、対話途中において、例えば、ＰＲＡＣＫ要求、ＵＰＤＡＴＥ要求、あるいは、再ＩＮＶＩＴＥ要求のようなその後の提示を受信することができる。その後のＳＤＰ提示は、前の提示／回答交換に基づいてコーデックが前に選択された後に受信される。したがって、その後の提示は、後述するような方法で、コーデック切り替えを必要としうる。
【０１１１】
ＷＣＤ１４が、対話途中の要求として、その後のＳＤＰ提示を受信する（２８０）。その後のＳＤＰ提示は、例えば図１の通信デバイス１６のような送信デバイスがサポートする提示されたコーデックのリストを含む。このＳＤＰ提示はさらに、通信セッションを確立するためにＷＣＤ１４が満足しなければならない追加の事前条件をも含みうる。
【０１１２】
ＷＣＤ１４は、前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリストに含まれているかを判定する（２８２）。前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリスト内に含まれているのであれば、ＷＣＤ１４は、前に選択されたコーデックを選択し、前に選択されたコーデックを識別するＳＤＰ回答を送る（２８４）。前の提示／回答交換に基づいて選択されたコーデックが、提示されたコーデックのリストに含まれていないのであれば、ＷＣＤ１４は、メモリ３４からコーデック・コンフィグレーション情報３６を検索し、ＷＣＤ１４によってサポートされかつ基礎をなすアクセス技術による通信における使用に適したコーデックのリストを生成する（２８６）。
【０１１３】
ＷＣＤ１４は、マッチング・コーデックのリストとして本明細書で称され、ＳＤＰ提示において含まれかつＷＣＤ１４によってサポートされているコーデックのリストに含まれているコーデックのリストを生成する（２８８）。マッチング・コーデックのリストは、ＷＣＤ１４の好適な順番でソートされうる。ＷＣＤ１４は、マッチング・コーデックのリストに含まれるコーデックが存在するかを判定する（３００）。ＳＤＰ提示に含まれＷＣＤ１４によってサポートされているコーデックのリストに含まれるコーデックが存在しないのであれば、ＷＣＤ１４は、例えば４８８応答のように、ＷＣＤ１４が、上述したようなセッションを適切にサポートすることができないことを示すメッセージを返す（３０２）。
【０１１４】
ＳＤＰ提示に含まれＷＣＤ１４によってサポートされるコーデックのリストに含まれるコーデックが存在するのであれば、ＷＣＤ１４は、ゼロに等しいコーデック・カウントを設定し（３０３）、コーデック・リミットを、新たなＱｏＳ確保を実行する前にチェックされるコーデックの数に設定する（３０４）。ＷＣＤ１４は、リスト内の第１のコーデックを選択し（３０５）、マッチング・コーデックのリスト内の第１のコーデックに関連付けられたＱｏＳレベルを、前の提示／回答交換中にＱｏＳが確保されたＱｏＳレベルと比較する（３０６）。したがって、ＷＣＤ１４は、新たなＱｏＳ確保を自動的には実行しないが、その代わりに、前に実行されたＱｏＳ確保を用いることを試みる。ＷＣＤ１４は、コーデック・カウントをインクリメントする（３０７）。その後、ＷＣＤ１４は、第１のコーデックに関連付けられたＱｏＳレベルが、前に確保されたＱｏＳレベルより低いかあるいはそれに等しいかを判定する（３０８）。このように、ＷＣＤ１４は、リストの第１のコーデックについてＱｏＳが前に確保されたか否かを判定する。マッチング・コーデックのリスト内の第１のコーデックに関連付けられたＱｏＳレベルが、前に確保されたＱｏＳレベルより低いかあるいはそれと等しいのであれば、ＷＣＤ１４は、そのコーデックを選択し、選択されたコーデックをリストするＳＤＰ回答を生成する（３０９）。
【０１１５】
マッチング・コーデックのリスト内の第１のコーデックに関連付けられたＱｏＳレベルが、前に確保されたＱｏＳレベルを超えるのであれば、ＷＣＤ１４は、コーデック・カウントが、コーデック・リミットより低いかを判定する（３１０）。コーデック・カウントが、コーデック・リミットより低い場合、すなわち、マッチング・コーデックのリスト内に確認すべきさらなるコーデックが存在する場合、ＷＣＤ１４は、マッチング・コーデックのリスト内の次のコーデックを選択し（３１１）、リスト上の次のコーデックに関連付けられたＱｏＳレベルを、前に確保されたＱｏＳレベルと比較し、次のコーデックを、ＳＤＰ回答に含まれるコーデックとして選択するか否かを判定する。ＷＣＤは、コーデックのうちの１つに関連付けられたＱｏＳレベルが、前に確保されたＱｏＳレベルより低いかあるいはそれに等しくなるまで、または、マッチング・リスト内に確認されるべきコーデックが残らなくなるまで、すなわち、コーデック・カウントがコーデック・リミットに等しくなるまで、マッチング・コーデックのリストのコーデックに関連付けられたＱｏＳレベルを、前に確保されたＱｏＳレベルと比較し続ける。
【０１１６】
マッチング・コーデックのリスト内に、確認すべきコーデックが存在しない場合、ＷＣＤ１４は、新たなＱｏＳ確保を試みる（３１２）。このように、ＷＣＤ１４は、異なる時間において、新たなＱｏＳ確保を試みるように構成されうる。一例として、コーデック・リミットは、１に等しくなるように設定され、マッチング・リスト内の第１のコーデックに関連付けられたＱｏＳレベルが、前の確保されたＱｏＳレベルを超えると判定した後に、ＷＣＤ１４に対して、新たなＱｏＳ確保を試みさせる。このアプローチによって、ＷＣＤ１４は、通信セッションのための最も好適なコーデックを選択する可能性を最大化することができる。別の例において、コーデック・リミットが、マッチング・リスト内のコーデックの数に等しく設定され、もって、マッチング・リスト内の全てのコーデックに関連付けられたＱｏＳレベルが、前に確保されたＱｏＳレベルを超えると判定するまで、ＷＣＤ１４に対して、新たなＱｏＳ確保を試みさせない。このように、ＷＣＤ１４は、前のＱｏＳ確保が不十分である場合にのみ新たなＱｏＳ確保を実行する。言い換えれば、このアプローチによって、ＷＣＤ１４は、オリジナルに確保されたＱｏＳレベルにおいて、セッションが継続する可能性を最大化することができる。ＷＣＤ１４は、コーデック・リミットの値を調節することによって、マッチング・リストに含まれる任意の数のコーデックを確認するように構成されうる。
【０１１７】
新たなＱｏＳ確保を試みた後、ＷＣＤ１４が、マッチング・リスト内の第１のコーデックを選択し（３１３）、マッチング・コーデックのリスト内の第１のコーデックに関連付けられたＱｏＳレベルを、新たに確保されたＱｏＳレベルと比較する（３１４）。ＷＣＤ１４は、第１のコーデックに関連付けられたＱｏＳレベルが、新たに確保されたＱｏＳレベルより低いかあるいはそれと等しいかを判定する（３１６）。マッチング・コーデックのリスト内の第１のコーデックに関連付けられたＱｏＳレベルが、新たに確保されたＱｏＳレベルより低いかあるいはそれに等しい場合、ＷＣＤ１４は、コーデックを選択し、選択されたコーデックを含むＳＤＰ回答を生成する（３１８）。
【０１１８】
マッチング・コーデックのリスト内の第１のコーデックに関連付けられたＱｏＳレベルが、新たに確保されたＱｏＳレベルを超えるのであれば、ＷＣＤ１４は、マッチング・コーデックのリスト内に残っているその他のコーデックが存在するかを判定する（３２０）。マッチング・コーデックのリスト内にさらにコーデックが存在するのであれば、ＷＣＤ１４は、マッチング・リスト内の次のコードを選択し（３２１）、リスト上の次のコーデックに関連付けられたＱｏＳレベルを、新たに確保されたＱｏＳと比較して、ＳＤＰ回答内に含めるコーデックとして、次のコーデックを選択するか否かを判定する。ＷＣＤ１４は、コーデックのうちの１つに関連付けられたＱｏＳレベルが、新たに確保されたＱｏＳレベルより低いかあるいはそれに等しくなるまで、または、マッチング・リストにこれ以上のコーデックが残らなくなるまで、マッチング・コーデックのリストのコーデックに関連付けられたＱｏＳレベルを、前に確保されたＱｏＳレベルと比較し続ける。
【０１１９】
マッチング・リスト内に残っているコーデックがない場合、ＷＣＤ１４は、ＷＣＤ１４のＱｏＳモードを識別する（３２２）。ＷＣＤ１４がＱｏＳ要求モードで動作する場合、ＷＣＤ１４は、新たな提示を拒否し、前の提示によってネゴシエートされたコーデックを用い続ける（３２４）。さらに、調節が必要であるとＷＣＤ１４が判定した場合、ＷＣＤ１４は、前に確保されたＱｏＳのレベルを、前のコーデックに関連付けられたＱｏＳのレベルに調節する。ＷＣＤ１４がＱｏＳ優先モードで動作している場合、ＷＣＤ１４は、最も高い優先度を持つコーデックのマッチング・リストのコーデックをリストするＳＤＰ回答を生成し、送信する（３２６）。
【０１２０】
図１０は、例えば図２のＷＣＤ１４のように、使用中のコーデックの要求にマッチするように確保されたＱｏＳのレベルを調節する通信デバイスの典型的な動作を例示するフロー図である。ＷＣＤ１４は、確保されたＱｏＳのレベルを過剰に供給しているか、あるいは、ＱｏＳのレベルを不十分にしか供給していないかの何れかである。過剰に供給している場合、より低いＱｏＳレベルが確保されるべきであり、不十分にしか供給していない場合、不十分なＱｏＳがリリースされる。確保されたＱｏＳのレベルを調節することは、開始デバイスあるいは終了デバイスかの何れかにおいて実行されうる。
【０１２１】
ＷＣＤ１４は、使用中のコーデックに関連付けられたＱｏＳのレベルを判定する（３３０）。ＷＣＤ１４は、例えば、コーデックに関連付けられたＱｏＳのレベルを判定するために、メモリ３４から、使用中のコーデックに関連付けられたコーデック・コンフィグレーション情報３６を検索することができる。ＷＣＤ１４は、使用中のコーデックに関連付けられたＱｏＳのレベルを、確保されたＱｏＳのレベルと比較する。特に、ＷＣＤ１４は、使用中のコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルと等しいかを判定する（３２２）。使用中のコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルと等しいのであれば、ＷＣＤ１４は、確保されたＱｏＳレベルを調節しない（３３４）。
【０１２２】
使用中のコーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルと等しくないのであれば、ＷＣＤ１４は、コーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルより低いかを判定する（３３６）。コーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルより低く、ＱｏＳの過剰な供給を示すのであれば、ＷＣＤ１４は、確保されたＱｏＳレベルを、使用中のコーデックのＱｏＳレベルへ低減する（３３８）。
【０１２３】
コーデックに関連付けられたＱｏＳレベルが、確保されたＱｏＳレベルを超えており、確保されたＱｏＳの不十分な供給を示すのであれば、ＷＣＤ１４は、確保されたＱｏＳをリリースする（３４０）。この状況は、ＷＣＤ１４が、ＱｏＳ優先モードで動作している場合にのみ引き起こるだろう。ＱｏＳ優先モードでは、ＷＣＤ１４が通信セッションで使用するコーデックのみが、確保されたＱｏＳレベルを超えていなければならない。
【０１２４】
本開示で記載された機能は、ハードウェア、ソフトウェア、ファームウェア、あるいはこれらの組み合わせで実現されうる。ソフトウェアで実現される場合、これらの機能は、コンピュータ・プログラム製品に関連付けられたコンピュータ読取可能媒体に格納されるか、あるいは、１または複数の命令群あるいはコードによって送信されうる。コンピュータ読取可能媒体は、１つの場所から別の場所へのコンピュータ・プログラムの転送を容易にする任意の媒体を含むコンピュータ記憶媒体および通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスすることが可能な任意の利用可能な媒体でありうる。限定するのではなく、一例として、そのようなコンピュータ読取可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたはその他の光ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶装置、あるいは、命令群またはデータ構造の形態で所望のプログラム・コードを搬送または格納するために使用されることができ、かつ、コンピュータによってアクセスされることができるその他任意の媒体を備えることができる。また、いかなる接続も、コンピュータ読取可能媒体と適切に称されうる。例えば、ソフトウェアが、ウェブサイトから、サーバから、あるいは、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者ライン（ＤＳＬ）、または、例えば赤外線、ラジオ、およびマイクロウェーブのような無線技術を用いたその他の遠隔ソースから送信されているのであれば、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、または例えば赤外線、ラジオ、およびマイクロ波のような無線技術は、媒体の定義に含まれる。本明細書で使用されるディスク（ｄｉｓｋおよびｄｉｓｃ）は、通常、“ｄｉｓｋ”が磁気的にデータを再生するのに対し、“ｄｉｓｃ”がレーザを用いて光学的にデータを再生するものであって、コンパクト・ディスク（ＣＤ）、レーザ・ディスク、光ディスク、ＤＶＤ、フロッピー（登録商標）ディスク、およびブルーレイ・ディスクを含む。上記の組み合わせもまた、コンピュータ読取可能媒体の範囲に含まれるべきである。
【０１２５】
本開示の様々な例が記載された。これらの例およびその他の例が、特許請求の範囲内のスコープ内にある。
【図１】
2009544236.tif 000003
【図２】
2009544236.tif 000004
【図３】
2009544236.tif 000005
【図４】
2009544236.tif 000006
【図５】
2009544236.tif 000007
【図６】
2009544236.tif 000008
【図７】
2009544236.tif 000009
【図８】
2009544236.tif 000010
【図９】
2009544236.tif 000011
【図１０】
2009544236.tif 000012
【国際調査報告】
2009544236.tif 000013
2009544236.tif 000014