(57)【特許請求の範囲】
【請求項１】
セルラ電話機用の後付けプログラミングコードモジュールにおいて、
上記セルラ電話機上のキーパッドからの入力信号であって、該キーパッド入力のシーケンスによって生成され、該セルラ電話機を使用可能にするパラメータ情報を生成するための入力信号を受信する入力手段と、
上記入力信号を処理して、上記セルラ電話機をセルラ電話サービスネットワーク上で使用可能にする上記パラメータ情報を得る処理手段と、
上記セルラ電話機が使用可能にされたときに、パスワードをユーザに開示することなくランダムに生成し、上記入力手段に該パスワードが入力されるまで該セルラ電話機が再プログラミングされることを防止する手段とを備える後付けプログラミングコードモジュール。
【請求項２】
さらに、上記処理手段に接続され、上記生成されたパラメータ情報を記憶する番号割当モジュールを備える請求項１記載の後付けプログラミングコードモジュール。
【請求項３】
上記入力信号は、フィールド識別番号とプログラミングコードセグメントからなり、上記処理手段は、該フィールド識別番号でアドレスされる様々なパラメータに関する所定の情報を記憶するメモリを備えることを特徴とする請求項１記載の後付けプログラミングコードモジュール。
【請求項４】
上記入力信号は、プリアンブル、少なくとも１つのプログラミングコードセグメント、チェックサム及びシーケンスターミネータを含むプログラミングコードシーケンスからなることを特徴とする請求項１記載の後付けプログラミングコードモジュール。
【請求項５】
上記処理手段は、上記セルラ電話機内に保存されているエレクトロニックシリアル番号及びキーコードに基づいて、上記入力信号のスクランブルされている部分をデスクランブルするデスクランブル手段を備えることを特徴とする請求項１記載の後付けプログラミングコードモジュール。
【請求項６】
上記処理手段は、上記入力信号の整合性を検査する手段を備えることを特徴とする請求項１記載の後付けプログラミングコードモジュール。
【請求項７】
上記処理手段は、上記入力信号を伸長する伸長手段を備えることを特徴とする請求項１記載の後付けプログラミングコードモジュール。
【請求項８】
上記入力信号は、プリアンブル、少なくとも１つのスクランブルされたプログラミングコードセグメント、ポストアンブル及びシーケンスターミネータを含むプログラミングコードシーケンスからなり、
上記処理手段は、
上記少なくとも１つのスクランブルされたプログラミングコードセグメントを、上記セルラ電話機内に保存されているエレクトロニックシリアル番号及びキーコードに基づいてデスクランブルし、フィールド識別番号とプログラミングコードからなる少なくとも１つのプログラミングコードセグメントを得るデスクランブル手段と、
上記プリアンブル、少なくとも１つのプログラミングコードセグメント、ポストアンブル及びシーケンスターミネータを含むプログラミングコードシーケンスの整合性を検査する検査手段と、
上記少なくとも１つのプログラミングコードセグメントのフィールド識別番号及びプログラミングコードから上記パラメータ情報を決定し、該パラメータ情報を番号割当モジュールに供給する伸長手段とを備え、
上記電話番号割当モジュールは、ユーザによって上記セルラ電話機を市内電話ネットワーク上で使用可能にするために必要とされる番号割当モジュール情報、オプションの番号割当モジュール情報及びオプションの個人設定情報を記憶することができることを特徴とする請求項１記載の後付けプログラミングコードモジュール。
【請求項９】
セルラ電話機をプログラミングするセルラ電話機のプログラミング方法において、
プログラミングコードシーケンスを生成する生成ステップと、
上記セルラ電話機のキーパッドを介して上記プログラミングコードシーケンスを入力するステップと、
上記キーパッドを介して入力されたプログラミングコードシーケンスを処理して、パラメータ情報を得る処理ステップと、
上記プログラミングコードシーケンスから得られたパラメータ情報に基づいて、上記セルラ電話機をセルラ電話サービスネットワーク上において使用可能にするステップと、
上記セルラ電話機が使用可能になったときに、該セルラ電話機でパスワードを、ユーザに開示することなく、ランダムに生成するステップと、
上記パスワードを、上記セルラ電話サービスネットワークの許可された者だけがアクセス可能なデータベースに記憶するステップと、
上記パスワードを上記許可された者から得て、上記キーパッドを介して入力するまで、上記セルラ電話機が再プログラミングされるのを防ぐステップとを有し、
上記セルラ電話機をユーザがより容易に使用可能にすることができるとともに、上記セルラ電話サービスネットワークからの許可なしで、該セルラ電話機が再プログラミングされるのを防止することを特徴とするセルラ電話機のプログラミング方法。
【請求項１０】
上記生成ステップは、少なくとも１つのプログラミングコードセグメントを含む上記プログラミングコードシーケンスを生成するステップを有することを特徴とする請求項９記載のセルラ電話機のプログラミング方法。
【請求項１１】
上記生成ステップは、
エレクトロニックシリアル番号を得るステップと、
少なくとも電話番号及びシステム識別番号の情報を含む番号割当モジュール情報を得るステップと、
上記番号割当モジュール情報を、少なくとも１つのプログラミングコードセグメントにエンコードするステップと、
上記エレクトロニックシリアル番号及びキーコードから生成されたスクランブルキーに基づいて、上記少なくとも１つのプログラミングコードセグメントをスクランブルするステップと、
上記少なくとも１つのスクランブルされたプログラミングコードセグメントを含むプログラミングコードシーケンスを生成するステップとを有することを特徴とする請求項９記載のセルラ電話機のプログラミング方法。
【請求項１２】
上記生成ステップは、プリアンブル、少なくとも１つのプログラミングコードセグメント、チェックサム及びシーケンスターミネータを含むプログラミングコードシーケンスを生成するステップを有することを特徴とする請求項９記載のセルラ電話機のプログラミング方法。
【請求項１３】
上記生成ステップは、ダイアルアップアクセスセンタで実行されることを特徴とする請求項９記載のセルラ電話機のプログラミング方法。
【請求項１４】
上記処理ステップは、上記セルラ電話機内のプログラミングコードモジュールを用いて、該セルラ電話機のキーパッドを介して入力された上記プログラミングコードシーケンスを処理し、得られた上記パラメータ情報を該セルラ電話機内の番号割当モジュールに記憶するステップを有することを特徴とする請求項９記載のセルラ電話機のプログラミング方法。
【請求項１５】
上記処理ステップは、上記プログラミングコードシーケンスのスクランブルされている部分をデスクランブルするステップを有することを特徴とする請求項９記載のセルラ電話機のプログラミング方法。
【請求項１６】
上記デスクランブルするステップは、上記セルラ電話機に保存されているエレクトロニックシリアル番号及びキーコードの情報を用いて、上記プログラミングコードシーケンスのスクランブルされている部分をデスクランブルすることを特徴とする請求項１５記載のセルラ電話機のプログラミング方法。
【請求項１７】
上記スクランブルするステップは、上記エレクトロニックシリアル番号の最下位部に素数を乗算し、得られる積を該エレクトロニックシリアル番号の最上位部に加算して第１のスクランブルキーを生成するステップと、
キーコードを有するスクランブルテーブルを、上記第１のスクランブルキーのディジット及び上記少なくとも１つのプログラミングコードセグメントのスクランブルされるディジットで与えられるアドレスで読み出して、スクランブルされたプログラミングコードセグメントを生成するステップと、
上記第１のスクランブルキーのディジットを、該第１のスクランブルキーから生成されたスクランブルされたプログラミングコードセグメントのそれぞれのディジットに加算することによって、次のスクランブルキーを生成するステップとを有することを特徴とする請求項１１記載のセルラ電話機のプログラミング方法。
【請求項１８】
上記処理ステップは、上記キーパッドを介して入力されたプログラミングコードシーケンスの整合性を検査するステップを有することを特徴とする請求項９記載のセルラ電話機のプログラミング方法。
【請求項１９】
上記処理ステップは、上記キーパッドを介して入力されたプログラミングコードシーケンスの各プログラミングコードセグメントを伸長して、上記セルラ電話機を使用可能にする番号割当モジュール情報を得る伸長ステップを有することを特徴とする請求９記載のセルラ電話機のプログラミング方法。
【請求項２０】
上記伸長ステップは、
上記プログラミングコードセグメントのそれぞれからフィールド識別番号及びプログラミングコードを抽出し、上記処理ステップで得られる番号割当モジュール情報を、承認されたフィールド識別番号及びプログラミングコードに基づいて、上記セルラ電話機のメモリから決定するステップを有し、
上記電話番号割当モジュールは、ユーザによって上記セルラ電話機を市内電話ネットワーク上で使用可能にするために必要とされる番号割当モジュール情報、オプションの番号割当モジュール情報及びオプションの個人設定情報を記憶することができることを特徴とする請求項１９記載のセルラ電話機のプログラミング方法。
【請求項２１】
セルラ電話機をプログラミングするセルラ電話機のプログラミング方法において、
上記セルラ電話機のキーパッドにプログラミングコードシーケンスを入力することによって、該セルラ電話機をセルラ電話サービスネットワークにおいて使用可能にするステップと、
上記セルラ電話機が使用可能になったときに、該セルラ電話機でパスワードを、ユーザに開示することなく、生成するステップと、
上記パスワードを、上記セルラ電話サービスネットワークの許可された者だけがアクセス可能なデータベースに記憶するステップと、
上記パスワードを、上記セルラ電話機の不揮発性メモリに記憶するステップと、
上記パスワードを上記許可された者から得て、上記セルラ電話機のキーパッドを介して入力するまで、該セルラ電話機が別の電話番号又は別のセルラ電話サービスネットワークに再プログラミングされることを防止するステップとを有するセルラ電話機のプログラミング方法。
【請求項２２】
上記パスワードを生成するステップは、
上記セルラ電話機に割り当てられた電話番号の所定のセグメントを用いて該パスワードを生成するステップと、
上記所定のセグメントを、所定のアルゴリズムに基づいてスクランブルするステップを有することを特徴とする請求項２１記載のセルラ電話機のプログラミング方法。
【請求項２３】
セルラ電話機をプログラミングするセルラ電話機のプログラミング方法において、
上記セルラ電話機のキーパッドにプログラミングコードシーケンスを入力することによって、該セルラ電話機をセルラ電話サービスネットワークにおいて使用可能にするステップと、
上記セルラ電話機が使用可能になったときに、該セルラ電話機で第１及び第２のパスワードを、ユーザに開示することなく、生成するステップと、
上記第１及び第２のパスワードを、上記セルラ電話サービスネットワークの許可された者だけがアクセス可能なデータベースに記憶するステップと、
上記第１及び第２のパスワードを、上記セルラ電話機の不揮発性メモリに記憶するステップと、
上記第１のパスワードを上記許可された者から得て、上記セルラ電話機のキーパッドを介して入力するまで、該セルラ電話機が別の電話番号に再プログラミングされることを防止し、上記第２のパスワードを該許可された者から得て、該セルラ電話機のキーパッドを介して入力するまで、該セルラ電話機が別のセルラ電話サービスネットワークで使用されるように再プログラミングされることを防止するステップとを有するセルラ電話機のプログラミング方法。
【請求項２４】
さらに、上記セルラ電話機に割り当てられた電話番号の第１及び第２のセグメントから上記第１及び第２のパスワードを生成するステップと、
上記第１及び第２のセグメントを、第１及び第２の所定のアルゴリズムに基づいて、スクランブルするステップとを有する請求項２３記載のセルラ電話機のプログラミング方法。
【請求項２５】
使用可能になったときの電話番号は、少なくとも１０桁からなり、上記第１のセグメントは、該電話番号の最初の８桁からなり、上記第２のセグメントは、該電話番号の最後の８桁からなることを特徴とする請求項２４記載のセルラ電話機のプログラミング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信ネットワーク上で使用されるセルラ電話機用の後付けプログラミングコードモジュール及びそのプログラミング方法に関し、特に、セルラ電話機の供給業者の手を煩わせることなく、ユーザがプログラミングを行うことを可能とするものに関する。
【０００２】
【従来の技術】
従来、ユーザに販売されるセルラ電話機は、電話番号、システム識別番号（ＳＩＤ：system identification）、及びデフォルトシステムコントロールチャンネル番号のようなネットワーク操作パラメータをプログラミングするデータを入力するのに、専門的な知識と訓練された人々を必要とする。セルラ電話機は、ユーザが使用できるようプログラミングするのに技術的な専門知識を必要とするため、専門的な販売チャンネルにより供給され、ネットワーク上に組み込まれるようになっている。ユーザが販売業者からハードウェア（セルラ電話機）を購入すると、ユーザと販売業者で時間をかけて書類を作成しなければならず、また、ユーザは、ネットワークの提供業者とネットワークサービス契約を結ばなければならない。顧客がセルラ電話機を使用できるようにするためには、セルラ電話機をプログラミングする付加的で極めて緻密な作業が販売業者とネットワークの間で行われる。
【０００３】
【発明が解決しようとする課題】
したがって、販売業者が複雑で時間のかかるプログラミングを行う必要がなく、ユーザがプログラミングすることができるセルラ電話機が要求されている。
【０００４】
本発明の目的は、従来のセルラ電話機が有する問題点を解決し、一般のユーザが販売業者の援助を受けないでセルラ電話機をネットワークに組み込むのに必要な情報を簡単にプログラミングすることができるセルラ電話機電話機用の後付けプログラミングコードモジュール及びそのプログラミング方法を提供することにある。
【０００５】
【課題を解決するための手段】
本発明に係るセルラ電話機用の後付けプログラミングコードモジュールは、セルラ電話機上のキーパッドからの入力信号であって、キーパッド入力のシーケンスによって生成され、セルラ電話機を使用可能にするパラメータ情報を生成するための入力信号を受信する入力手段と、入力信号を処理して、セルラ電話機をセルラ電話サービスネットワーク上で使用可能にするパラメータ情報を得る処理手段と、セルラ電話機が使用可能にされたときに、パスワードをユーザに開示することなくランダムに生成し、入力手段にパスワードが入力されるまでセルラ電話機が再プログラミングされることを防止する手段とを備える。
【０００６】
本発明に係るセルラ電話機のプログラミング方法は、プログラミングコードシーケンスを生成する生成ステップと、セルラ電話機のキーパッドを介してプログラミングコードシーケンスを入力するステップと、キーパッドを介して入力されたプログラミングコードシーケンスを処理して、パラメータ情報を得る処理ステップと、プログラミングコードシーケンスから得られたパラメータ情報に基づいて、セルラ電話機をセルラ電話サービスネットワーク上において使用可能にするステップと、セルラ電話機が使用可能になったときに、セルラ電話機でパスワードを、ユーザに開示することなく、ランダムに生成するステップと、パスワードを、セルラ電話サービスネットワークの許可された者だけがアクセス可能なデータベースに記憶するステップと、パスワードを許可された者から得て、キーパッドを介して入力するまで、セルラ電話機が再プログラミングされるのを防ぐステップとを有し、セルラ電話機をユーザがより容易に使用可能にすることができるとともに、セルラ電話サービスネットワークからの許可なしで、セルラ電話機が再プログラミングされるのを防止する。
【０００７】
また、本発明に係るセルラ電話機のプログラミング方法は、セルラ電話機のキーパッドにプログラミングコードシーケンスを入力することによって、セルラ電話機をセルラ電話サービスネットワークにおいて使用可能にするステップと、セルラ電話機が使用可能になったときに、セルラ電話機でパスワードを、ユーザに開示することなく、生成するステップと、パスワードを、セルラ電話サービスネットワークの許可された者だけがアクセス可能なデータベースに記憶するステップと、パスワードを、セルラ電話機の不揮発性メモリに記憶するステップと、パスワードを許可された者から得て、セルラ電話機のキーパッドを介して入力するまで、セルラ電話機が別の電話番号又は別のセルラ電話サービスネットワークに再プログラミングされることを防止するステップとを有する。
【０００８】
また、本発明に係るセルラ電話機のプログラミング方法は、セルラ電話機のキーパッドにプログラミングコードシーケンスを入力することによって、セルラ電話機をセルラ電話サービスネットワークにおいて使用可能にするステップと、セルラ電話機が使用可能になったときに、セルラ電話機で第１及び第２のパスワードを、ユーザに開示することなく、生成するステップと、第１及び第２のパスワードを、セルラ電話サービスネットワークの許可された者だけがアクセス可能なデータベースに記憶するステップと、第１及び第２のパスワードを、セルラ電話機の不揮発性メモリに記憶するステップと、第１のパスワードを許可された者から得て、セルラ電話機のキーパッドを介して入力するまで、セルラ電話機が別の電話番号に再プログラミングされることを防止し、第２のパスワードを許可された者から得て、セルラ電話機のキーパッドを介して入力するまで、セルラ電話機が別のセルラ電話サービスネットワークで使用されるように再プログラミングされることを防止するステップとを有する。
【０００９】
そして、本発明では、コード体系を用いている。
【００１０】
また、本発明では、情報がハードウェアサプライヤとネットワーク運用業者間で交換される。この情報は、セルラ電話機に記憶されるとともに、ルックアップテーブル又は他のデータ構造としてダイアルアップアクセスセンタで利用できるようにされ、ユーザは、簡単で適切な命令を用いて、セルラ電話機をプログラミングすることができる。さらに、データ圧縮を行って、エンドユーザのキー入力の実際のステップを最少にすることができる。
【００１１】
さらに、本発明では、地域のダイアルアップアクセスセンタからユーザに送るプログラミング情報のセグメントをスクランブルすることによって、安全が保証される。したがって、セルラ電話機は、ユーザが電話機のキーパッドを介して入力したプログラミング情報のスクランブルされているセグメントをデスクランブルするプロセッサユニットを備えている。このようなスクランブル及びデスクランブルは、安全な方法で生成され、必要な相手に配布されたキーによって行われる。このエンコード方式により、許可されていないセルラ電話機の使用及び許可を受けていない者によるセルラ電話機の使用を防ぐことができる。さらに、プログラミングモードのパスワードによって、セルラ電話機が再プログラミングされて他のネットワークで使用されるリスクがないようにすることができ、すなわちハードウェアサプライヤとネットワーク運用業者が特定のネットワークで使用するセルラ電話機を提供することができる。
【００１２】
最後に、本発明では、セルラ電話機のプロセッサユニットによってプログラミングコードの整合性をチェックすることにより、ユーザが入力したプログラミングコードシーケンスの偶発的な入力ミスを検出することができる。
【００１３】
【発明の実施の態様】
〔プログラム可能なセルラ電話機〕
以下、本発明に係るセルラ電話機及びセルラ電話機のプログラミング方法の実施の形態について図面を参照しながら説明する。本発明を適用したセルラ電話機は、セルラ電話機内の番号割当モジュール（number assignment module：以下、ＮＡＭモジュールという。）にパラメータ情報を供給するプログラミングコードモジュール（programming code module：以下、Ｐコードモジュールという。）を備える。図１は、セルラ電話機をネットワークシステムで使用できるようにするプログラミングコード（programming code：以下、Ｐコードという。）を入力するためのキーパッドを備える本発明が適用された標準のセルラ電話機の外観を示す図である。
【００１４】
すなわち、このセルラ電話機には、図１に示すように、基地局との通信を行うためのアンテナ１と、通話を行うための受話器２及びマイクロフォン８と、電話番号等を表示するディスプレイ３と、エンド（ＥＮＤ）キー４と、電話番号等を入力するためのキーパッド５と、電源スイッチ６と、短縮ダイアルのためのワンタッチダイアルキー７と、音量を調整するためのボリュームキー１０と、バッテリパック１１と、送信（ＳＥＮＤ）キー１２と、クリア（ＣＬＲ）キー１３と、ストア（ＳＴＯ）キー１４と、リンガキー１５と、リコール（ＲＣＬ）キー１６とが、ユーザが操作をしやすいように配設されている。
【００１５】
また、このセルラ電話機は、例えば図２に示すように、セルラ電話機の動作を制御するプロセッサユニット２３を備える。このプロセッサユニット２３は、Ｐコードからパラメータ情報を生成するＰコードモジュール２４と、パラメータ情報に基づいてセルラ電話機に番号を割り当てる番号割当モジュール（number assignment module：以下、ＮＡＭという。）２５と、セルラ電話機の動作を制御するマイクロプロセッサ２６とを備える。
【００１６】
Ｐコードモジュール２４は、キーパッド５とＮＡＭ２５の間に接続されており、標準の通信プロトコルを用い、このセルラ電話機がセルラ電話サービスネットワーク上で使用できるように、キーパッド５からの信号をＮＡＭ２５に供給する。また、Ｐコードモジュール２４は、キーパッド５からのＰコードに応じてＮＡＭのパラメータ情報をＮＡＭ２５に供給する。そして、ＮＡＭ２５は、パラメータ情報を記憶する。ここで、このＰコードモジュール２４は、例えば１個の集積回路（チップ）からなり、一般的には、販売業者のプログラミングの煩わしさを解消するために製造業者によって、後付けモジュールとして提供される。
【００１７】
なお、Ｐコードモジュール２４とＮＡＭ２５を一体化してもよい。いずれの場合にも、Ｐコードモジュール２４は、ハードウェア、ソフトウェア、又はこれらを組み合わせたファームウェアを利用したプロセッサで構成されており、以下に説明するように、ユーザのキーパッド操作によるプログラミング情報（Ｐコード）の処理に用いられる。
【００１８】
〔プログラミングコード（Ｐコード）〕
本発明では、プログラミングコード（Ｐコード）は、セルラ電話機用の番号割当モジュール（ＮＡＭ２５）の情報及び他の製品情報をエンコードするのに使用される。Ｐコードは、キーパッド５の柔軟性のある長さのコードであって、セルラ電話機のプログラム可能なパラメータに変換される。したがって、Ｐコードは、ユーザが、ダイアルアップセンタによって提供される説明書の起動手順に従ってキーパッド５を操作することにより、入力することができる。
【００１９】
具体的には、コード範囲７桁（ディジット）〜３２桁は、キーパッド（１２３−４５６−７８９−＊０＃）の数字及びキャラクタに対応しており、キャラクタ＊と＃は、それぞれ数字の１０及び１１と考えられている。それ以上又はそれ以下の桁を使って別のダイアル方式及び機能に対応するようにしてもよい。
【００２０】
単純でユーザが扱い易いＰコードは、セルラ電話機のより複雑なシーケンスを可能にする情報シーケンスを含み、ＮＡＭ２５に記憶される。このＮＡＭ２５には、電話番号（エリアコード（市外局番）／ダイアリングプレフィクス（市内局番、交換機番号）／加入者番号（ＭＩＮ１、ＭＩＮ２））、システム識別番号（ＳＩＤ、ＳＩＤＨ）、ネットワーク操作関連のパラメータ（例えば初期ページングチャンネル（Initial Paging Channel：ＩＰＣＨ））及び他の各セルラ電話機固有の設定値（例えば特別なダイアル速度設定）も記憶される。Ｐコードシーケンスのセグメントを識別するフィールド識別番号及びルックアップテーブルは、ユーザが入力しなければならない桁数を減らすのに使用される。Ｐコードシーケンスのセグメントを識別するフィールドを使用することにより、ユーザが選択したオプションに従ってＰコードからＮＡＭ情報の一部を省略することができ、この結果、ユーザは、ＮＡＭ２５のデフォルト（省略時）設定により、より複雑なプログラミングを行わないで済む。
【００２１】
したがって、Ｐコードは、購入したユーザのプログラミング技術を減少させ、ユーザは、販売業者の複雑なプログラミングがなくとも、セルラ電話機を使用することができる。
【００２２】
ここで、Ｐコードの一例と、セルラ電話機を使用可能にするためのＰコードのシステム内での動作とについて説明する。
【００２３】
〔必要とされる番号割当モジュール（ＮＡＭ）情報〕
セルラ電話機を使用可能にするために、Ｐコードモジュール２４は、Ｐコードをエンコードして、セルラ電話機の登録電話番号を識別する最低限必要なＮＡＭ情報を生成する。典型的な１０桁の北米電話番号は、３桁の市外局番、３桁の市内番号（交換機番号）、及び４桁の加入者（アドレス）番号からなる。しかしながら、この１０桁の電話番号は、３４ビットの２進数（バイナリ）の番号ＭＩＮに変換されて、ＮＡＭ２５内のメモリに書き込まれる。具体的には、３桁の市外局番は、１０ビットの２進数の番号ＭＩＮ１に変換され、７桁の登録電話番号（３桁の市内番号（交換機番号）と４桁の加入者番号）は、２４ビットの２進数の番号ＭＩＮ２に変換される。
【００２４】
別の必要なＮＡＭ情報として、ホームシステムにおけるセルラ電話機のシステム識別番号ＳＩＤＨ（５桁）、ホーム移動サービス地域における初期ページングチャンネルＩＰＣＨ（４桁）、又は優先システム選択ＰＳ（１桁）に関する情報を含んでもよい。従来は、必要とされるＮＡＭ情報の入力に限定された短縮プログラミングモードにおいてさえも、熟練された販売業者は、プログラミング手順のシーケンスに従って、ＮＡＭ情報を直接入力しなければならなかった。
【００２５】
ユーザによるＰコードシーケンスの入力を容易にするために、本発明では、データ圧縮を行い、頻繁に使用される電話番号に必要とされるＮＡＭ情報をエンコードするのに必要なＰコードの桁数を最少にしている。必要とされるＮＡＭ情報の各情報は、ルックアップテーブルのようなメモリに記憶され、各情報はフィールド識別（フィールドＩＤ）番号で検索（アクセス）される。したがって、フィールド識別（フィールドＩＤ）番号は、Ｐコードセグメントにおいて、一般的に使用されている市外局番又は交換機番号のような記憶されているＮＡＭ情報にアクセスするために用いられる。以下の表に含まれていない他の特別な情報は、Ｐコードセグメント内で直接与えることができる。
【００２６】
表１は、必要とされるＮＡＭ情報をプログラミングする場合の具体例を示し、セルラ電話機を使用可能にするためのフィールドＩＤ番号とＰコードセグメントを示している。
【００２７】
【表１】
0003836186.tif 000002
【００２８】
表１において、最初の５行は、ＮＡＭ２５に記憶されている、北米番号計画に従って電話を使用可能にする電話番号の情報を含んでいる。セルラ電話機用の北米電話番号は、市外局番、交換機番号、システム識別番号ＳＩＤによって分類されている。北米電話番号計画に対して、フィールド識別番号（フィールドＩＤ番号）「１」〜「５」は、市外局番、交換機番号又はシステム識別番号ＳＩＤの情報が予めセルラ電話機のルックアップテーブルに記憶されているかどうかに依存したセルラ電話機の番号を分類するカテゴリ（「よく知られている（well-known）」、「聞いたことがある（heard of）」、「未知（unknown）」）を示している。例えば、「よく知られている」の場合、市外局番、ダイアリングプレフィクス及びシステム識別番号ＳＩＤの情報は、フィールドＩＤ番号によって圧縮されて、フィールドＩＤ番号で識別されるルックアップテーブルに含まれており、インデックスによって検索される。対応するＰコードセグメントには、Ｐコード用のフィールドルックアップテーブルを識別するフィールドＩＤ番号（１桁）、ルックアップテーブルインデックス（２桁）、及びＮＡＭ２５用の完全な１４桁の電話及びシステム識別番号ＳＩＤを得るための４桁の電話アドレス番号（合計７桁）のみが含まれる。
【００２９】
一方、電話番号が北米番号計画に準拠しない場合（外国の場合）、Ｐコードセグメントは、表１の６行目に示すように、別のフィールドＩＤ番号と完全なＭＩＮ及びシステム識別番号ＳＩＤの情報を含む。市内局番表示無効（display prefix override）機能は、Ｐコードセグメントに３桁の表示市内局番を追加することにより達成できる（７行目）。
【００３０】
表１の８〜１０行目に示すように、システム識別番号ＳＩＤに基づいたデフォルト（省略時）設定が用いられないとき、ネットワークは、ホームシステムの初期ページングチャンネル（ＩＰＣＨ）と優先システム選択（ＰＳ：preferred-system selection）に関するＮＡＭ情報を必要とする。初期ページングチャンネルＩＰＣＨの情報において、ページング移動局に用いられる第１のコントロールチャンネルの数は、フィールドＩＤ番号「６１」とＰコードセグメントの４桁のプログラムセグメント（８行目）で識別される。システムＡ又はシステムＢを選択する優先システム選択ＰＳの情報は、対応するフィールドＩＤ番号「６２」又は「６３」で識別される（９行目及び１０行目）。
【００３１】
表２は、「よく知られている」場合のダイアルアップアクセスセンタ及びセルラ電話機に記憶されているルックアップテーブルの一例であり、フィールドＩＤ番号は「１」である。
【００３２】
【表２】
0003836186.tif 000003
【００３３】
上述のように、ルックアップテーブルの行は、２桁のインデックスで検索される。各行は、セルラ電話機の市外局番、ダイアリングプレフィクス、及びシステム識別番号ＳＩＤにおける既知のＮＡＭ情報を含んでいる。さらに、拡張オプションフィールドが設けられており、これは、初期ページングチャンネル（ＩＰＣＨ）及び優先システム選択（ＰＳ）の情報のようなホームシステムにおいて必要とされる他の情報を含むルックアップテーブルに対するポインタ又はインデックスである。しかしながら、ネットワークがデフォルト設定を使用する場合、このフィールドは「未定義（UNDEFINED）」に設定される。
【００３４】
最も頻繁に使用される市外局番、ダイアリングプレフィクス、及びシステム識別番号ＳＩＤをルックアップテーブル（表２）に格納して、フィールドＩＤ番号と関連付けると、ユーザがＰコードで入力する数字の桁数は、概して少なくて済む。
【００３５】
必要なＮＡＭ情報に加えて、Ｐコードシーケンスに、更なるＰコードセグメント及び対応するフィールドＩＤを設け、ユーザによって選択される様々なオプション機能に関するＮＡＭ情報を記憶するようにしてもよい。表３に、本発明を適用したフィールドＩＤ、Ｐコードセグメント及びオプションのＮＡＭ情報の具体例を示す。
【００３６】
【表３】
0003836186.tif 000004
【００３７】
表３の１行目に示すように、セルラ電話機のモデル毎に異なるオプションは、「オプション」フィールドを識別するフィールドＩＤ番号「６４」を有するＰコードセグメントに設定される。したがって、対応する３桁のＰコードセグメントは、ルックアップテーブルの各オプション又はアドレスの情報を含み、このルックアップテーブルには、選択されるオプションに関する適切な２進数の情報が記憶されている。これらのオプションとしては、例えば、呼出しタイマ表示の起動及び停止の設定、発呼回数又は発呼及び着呼の回数の計数の設定、呼出しタイマの停止及び起動の設定、さらに、応用のための別のオプションの設定等がある。したがって、従来のプログラミングとは異なり、ユーザは、指示に従って５桁の１０進数だけを入力すればよく、特殊な２進数の設定やシーケンスに慣れる必要はない。
【００３８】
同様に、ＰコードセグメントとフィールドＩＤは、表３に示すように、以下のオプションに関するＮＡＭ情報を入力するのに使用することができる。
【００３９】
ローミング（ＲＨ：roaming）−優先ホームシステム地域外の自動初期化又は受信は、ＰコードセグメントのフィールドＩＤに「６５１」又は「６５２」（２行目及び３行目）をそれぞれ入力することにより、許可又は禁止することができる。
【００４０】
自局制御オプション（ＬＵ：local control option）−自局制御は、４行目のＰコードセグメントに応じて、移動局内の制御装置によって使用可又は不可にすることができる。例えば、この制御には、フィールドＩＤ番号「６５３」及び０（不可）又は１（可能）からなる１桁が用いられる。
【００４１】
移動識別マーク（ＭＩＮマーク：mobile identification mark−Ｅｓ＆ＥＸｐ）−ＭＩＮマークは、フォワードコントロールチャンネルを介して送信されるＥフィールドに記憶されている値を識別する。Ｅｓ又はＥＸｐは、システムにアクセスするときに、ホーム移動局がＭＩＮ１ｐだけを又はＭＩＮ１ｐとＭＩＮ２の両方を送信しなければならないかを識別する。Ｅｓの値とは異なり、ＥＸｐは、移動局の安全対策及び識別メモリに記憶される。ＭＩＮマークの情報を入力するＰコードセグメントを５行目に示す。例えば、フィールドＩＤ番号「６５３」及び１又は０の１桁が、ＭＩＮマークの設定を識別するのに用いられる。
【００４２】
ステーションクラスマーク（ＳＣＭ：station class mark）−６行目に示すように、ステーションクラスマークは、３桁のＰコードセグメントに設けることができ、このＰコードセグメントは、フィールドＩＤ番号「６６」と、ステーションクラス情報を示す１０進数の１桁、すなわち２進数のステーションクラス情報を含むテーブルに対するアドレスである２進数の１１１０とからなる。
【００４３】
システムＡとシステムＢの初期専用制御チャンネルシステム情報（ＩＤＣＣ：initial dedicated control channel system information Ａ、Ｂ）は、７行目と８行目に示すＰコードセグメントで設定される。フィールドＩＤ番号「６７１」によって識別される初期専用制御チャンネルシステム情報ＩＤＣＣＡは、４桁のＰコードセグメントによって０３３３に設定され、一方、フィールドＩＤ番号「６７２」によって識別される初期専用制御チャンネルシステム情報ＩＤＣＣＢは、４桁のＰコードセグメントによって０３３４に設定される。
【００４４】
グループ識別マーク（ＧＩＭ：group identification mark）−グループ識別マークＧＩＭの情報を入力するＰコードセグメントを９行目に示す。フィールドＩＤ番号「６８」と２桁の番号、すなわち００〜１５は、グループ識別マークＧＩＭの設定を示す。
【００４５】
アクセスオーバロードクラス情報（ＡＣＣＯＬＣ：access overload class information）−どのオーバロードクラスフィールド制御アクセスが移動局によって試みられているかを識別するアクセスオーバロードクラス情報ＡＣＣＯＬＣ用のＰコードセグメントを、最後の１０行目に示す。例えば、フィールドＩＤ番号「６９」と２桁、例えば電話番号の最後の０＋とからなる。
【００４６】
Ｐコードセグメントは、固有のフィールドＩＤと他のＰコードの桁（ディジット）を含んでおり、オプションの個人的な設定に関する情報を識別するために使用される。同様に、Ｐコードセグメントは、ワンタッチ／短縮ダイアルメモリ入力、Ａ／Ｂシステム選択、自動応答選択、ＶＯＸ（音声反応伝送）、ＮＡＭ選択、タイマリセットを含んでいる。
【００４７】
〔Ｐコード方式〕
図３は、本発明に係るＰコード方式を実行するセルラ電話機ネットワークの全体的な動作を示すフローチャートである。このＰコード方式では、アクセスセンタルーチン１００及びエンドユーザ電話機ルーチン２００において、必要なシステム情報が生成され、セルラ電話機のＮＡＭ２５に記憶される。
【００４８】
アクセスセンタルーチン１００のステップＳ１１０〜１５０は、ダイアルアップアクセスセンタのソフトウェアで動作する中央処理装置（ＣＰＵ）の制御の下に実行される。エンドユーザ電話機ルーチン２００のステップＳ２１０〜２５０は、セルラ電話機内の個別のチップであるＰコードモジュール２４からなるファームウェアによって実行される。アクセスセンタルーチン１００及びエンドユーザ電話機ルーチン２００の全てのステップを実行するファームウェア、ハードウェア、ソフトウェア、又はこれらを組み合わせたファームウェアは、この技術の範囲に含まれる。
【００４９】
図３に示すように、ステップＳ１１０において、ダイアルアップアクセスセンタは、製品型番及びシリアル番号の情報（ＬＳＮ：serial number、電話販売業者から入手でき、又はセルラ電話機に記載してある）をユーザから受信する。エレクトロニックシリアル番号（ＥＳＮ：electronic serial number）は、ＥＳＮの情報とＬＳＮの情報を相互に関係付けるＬＳＮ／ＥＳＮデータベース１０５から取り出される。このように、顧客は、ＥＳＮを知らない。ＥＳＮは、移動局を個々に識別する３２ビットの２進数からなり、ステップＳ２１５において、セルラ電話機に永久的にインストールされる。ＥＳＮは、工場において設定され、ハードコードされるので、番号の変更には特殊な設備が必要である。
【００５０】
ＥＳＮは、製造時にランダムに生成され、対応するＬＳＮと共にデータベース１０５に格納される。この方法において、個々のセルラ電話機／ＬＳＮに対応するＥＳＮの情報にアクセスできる人を、データベース１０５にアクセスを認められた人だけに制限することができる。
【００５１】
ＥＳＮの情報へのアクセスを更に制限したい場合は、永久的に、製造業者のみがハードコードされたＥＳＮを変更できるようにする。ＥＳＮの変更に加えて、製造業者のラベルシリアル番号のブロックを完全に分離したり、及び／又はセルラ電話機のＥＳＮに関連しない段ボール箱のバーコードを用いるようにする。これらの方法は、異なったネットワーク供給業者が使用するために、本発明を適用したセルラ電話機を再プログラミングすることを防ぐのに役立つ。
【００５２】
顧客アプリケーション情報（図示しない）をユーザが設けることができるようにして、ダイアルアップアクセスセンタがクレジットのチェック又は現金預金の調査を行えるようにしてもよい。そして、ダイアルアップアクセスセンタは、必要な申込みデータを作成して市内セルラ電話機ネットワークサービス会社に送り、購入者のサービス契約の口座を開設し、ユーザにそれ以上の煩雑なことを行わせない。この結果、ステップＳ１１５において、ネットワークサービス会社は、電話番号及びシステム識別番号（ＳＩＤ）を割り当て、ステップＳ１２０において、ダイアルアップアクセスセンタにその情報を提供する。
【００５３】
次に、ダイアルアップアクセスセンタは、電話番号及びシステム識別番号ＳＩＤの情報、他の必要な及びユーザに選択されたオプションのＮＡＭ情報に対応したＰコードシーケンスを生成する（ステップＳ１３０）。ユーザによってプログラミングされるＮＡＭ情報を識別するために、適切なフィールドＩＤとＰコードセグメントが、プログラムルックアップテーブルデータベース１２５に基づいて決定される（ステップＳ１３０）。
【００５４】
ステップＳ１４０において、Ｐコード情報のスクランブリングが、ＥＳＮ及び安全なキーコードに基づいて行われる。ステップ１５０において、セルラ電話機のキーパッド形式のスクランブルされた結果がダイアルアップアクセスセンタからユーザに提供され、その時点で、エンドユーザ電話機ルーチン２００が開始する。
【００５５】
ステップＳ２１０において、ユーザは、セルラ電話機のキーパッド５を用いて、ステップＳ１５０におけるダイアルアップアクセスセンタからの指示に従ってＰコードデータを入力する。
【００５６】
ステップＳ２２０において、スクランブルされたＰコードデータは、セルラ電話機内のメモリに記憶されているＥＳＮ及びキーコード（ステップＳ２１５）に基づいてデスクランブルされる。ステップＳ２３０において、ユーザが入力したデータの整合性（integrity）がチェックされる。
【００５７】
ステップＳ２４０において、デスクランブル（ステップＳ２２０）と整合性チェック（ステップＳ２３０）の後に、圧縮されているデータが伸長される。特に、電話番号及びシステム識別番号ＳＩＤの情報は、受信したプリアンブル及びデスクランブルされたＰコードセグメントに従って、ルックアップテーブルから検索され（ステップＳ２４５）、ＮＡＭ２５に記憶される（ステップＳ２５０）。
【００５８】
〔スクランブリングアルゴリズム〕
相手との間で交換される情報をスクランブルして、セルラ電話機を使用可能にするプロセスに対して安全対策を行う。エンコードした情報を用いることにより、セルラ電話機の無許可での使用を防止する。ステップＳ１４０及びＳ２２０において実行されるスクランブリング及びデスクランブリングのアルゴリズムを以下に詳しく説明する。
【００５９】
ダイアルアップアクセスセンタ及び製造業者において、安全な方法でキーコードが生成され、必要な相手に配布される。ダイアルアップセンタにおいて、プリアンブル及びポストアンブルデータに関するＰコードの整合性の情報を除いて、各Ｐコードシーケンスは、製造業者が準備した安全対策のためのキーコードと、機密ＬＳＮ−ＥＳＮテーブルから読み出されたセルラ電話機のＥＳＮとに基づいて、スクランブルされる。同様に、セルラ電話機のマイクロプロセッサ２６又はＰコードモジュール２４は、ソフトウェア又はファームウェアを内蔵し、スクランブルされたＰコード入力を、スクランブル処理とは逆の処理によってデスクランブルする。したがって、セルラ電話機は、製造業者が供給して記憶されたキーコードとセルラ電話機が記憶しているＥＳＮを用いて解読し、エンコードされていないＰコードシーケンスを生成する。
【００６０】
〔初期スクランブルキー〕
本発明の好ましいスクランブリングアルゴリズムは、ＥＳＮの最下位側１６ビット（１６進数の最後の４桁）に１０進数の素数を乗算し、積の各桁をＥＳＮの最上位側１６ビット（１６進数の最初の４桁）に加算して、１６進数の４桁からなる第１のスクランブルキーを生成する。
【００６１】
ダイアルアップアクセスセンタとセルラ電話機の両者は、１６行×１１列のスクランブルテーブルを有する。スクランブルテーブルの行は１６進数でアドレスされ、列はセルラ電話機のキーパッド（０〜９、＊、＃）に対応するＰコード入力のディジットによってアドレスされる。スクランブルテーブルの各行に対するエントリは、セルラ電話機の任意に選択されたキーパッド入力（０〜９、＊、＃）のシーケンスからなる。
【００６２】
入力用にユーザに実際に送られてくるスクランブルされたＰコードは、第１のスクランブルキー（行）及びエンコードされていないＰコード入力（列）で決定されるアドレス（行、列）をスクランブルテーブルのエントリとして得られる。例えば、エンコードされたＰコードの最初の桁（ディジット）は、（第１のスクランブルキーの最初のディジットと、エンコードされていないＰコード入力の最初のディジット）で与えられる（行と列の）アドレスであるスクランブルテーブルのエントリに対応する。したがって、エンコードされたＰコード入力の最初のディジットは、第１のスクランブルキーの最初のディジットに等しい行アドレスと、エンコードされていないＰコード入力の最初のディジットに等しい列アドレスであるスクランブルテーブルのエントリに対応する。
【００６３】
スクランブルされたＰコードの後続のディジットは、第１のスクランブルキーの後続のディジットと、エンコードされていないＰコード入力の後続のディジットとでアドレスされるスクランブルテーブルのエントリに対応する。このように、４桁の第１のスクランブルキーは、エンコードされていないＰコードシーケンスの最初の４ディジット（すなわち、プリアンブル「０１」の後のＰコードセグメント）をスクランブルするために用いられる。
【００６４】
〔後続のスクランブルキー〕
第１のスクランブルキーのディジットとエンコードされていないＰコード入力のディジット（＊＝１０進数の１０、＃＝１０進数の１１）をモジュロ１６に従って加算することによって、第２のスクランブルキーが得られ、そして、この第２のスクランブルキーを用い、スクランブルテーブルに従ってエンコードされていないＰコードの次の４ディジットをスクランブルすることができる。これにより、前のスクランブルキーと前のエンコードされていないＰコード入力を、エンコードされていないＰコード入力の終わりに達するまで、同じように加算することによって、後続のスクランブルキーを生成することができる。以下に述べるように、Ｐコードをセグメントに分割し、終端〔ＳＴＯ〕エントリに達すると、スクランブルキーは、最初の第１のスクランブルキーに戻り、シーケンスが繰り返される。
【００６５】
Ｐコード（整合性）情報（すなわちプリアンブル及びポストアンブルデータ）を除く全てのコード化した項目は、フィールドＩＤ情報によってプリフィックス（prefixed）される。これにより、情報のあらゆる部分を、デフォルトを使うオプションとして、Ｐコードの生成から不要にすることができる。Ｐコードセグメントの生成及びスクランブリングについて、以下の具体例を用いて説明する。
【００６６】
表４は、本発明に基づいてセルラ電話機をプログラミングするＰコードシーケンスの具体例を示している。スクランブルされていないＰコードシーケンスは、適切なＰコードバージョンを事実上識別するプリアンブルと、「よく知られた」北米電話番号である、頻繁に使用される必要なＮＡＭ情報を提供する第１のＰコードセグメントと、アクセスオーバロードクラス情報ＡＣＣＯＬＣに関するオプションのＮＡＭ情報を提供する第２のＰコードセグメントと、チェックサム処理用のポストアンブルディジットとからなる。
【００６７】
表４に示すように、２桁のプリアンブルは、ユーザにスクランブルされないで伝えられる。したがって、第１のＰコードセグメントの最初の４ディジットは、上述したように、ダイアルアップセンタがＥＳＮの情報に基づいて生成した４桁の第１スクランブルキー（ｏｒｉｇ１〜ｏｒｉｇ４）によって、スクランブルされる。ダイアルアップアクセスセンタにおいてキーコードのスクランブルテーブルから得られたスクランブルの結果は、ユーザが入力する実際のＰコードを形成する。次のスクランブルキー（ｎｘｔ１〜ｎｘｔ３）は、前のスクランブルキーのディジットと前のエンコードされていないＰコード入力を加算することによって生成される。そして、エンコードされていないＰコードセグメントの残りの３ディジットは、次のスクランブルキーに基づいてスクランブルされる。第１のＰコードセグメントの終わりは、ユーザがＳＴＯキー１４を押して指示する。
【００６８】
第２のＰコードセグメントは、同様に入力され、スクランブルされる。しかし、第２のＰコードセグメントの長さは僅かに４桁なので、次のスクランブルキーは必要とされない。最後に、スクランブルされていないチェックサムのポストアンブルのディジットが続き、終端を示すＥＮＤキー４を押すと、Ｐコードシーケンス全体が完結する。
【００６９】
【表４】
0003836186.tif 000005
【００７０】
〔Ｐコードセグメントの入力〕
Ｐコードセグメントの入力及び整合性検査ステップＳ２３０について、以下に詳しく説明する。
【００７１】
セルラ電話機内のＰコードモジュール２４のユーザーインタフェースソフトウェアは、一度に３２個以上のキャラクタをバッファリングすることができない。したがって、Ｐコードシーケンスは、ソフトウェア（顧客ダイアルアップセンタ中継台プログラム）によって３２桁以下の短いシーケンスのグループに分割される。そして、ユーザは、ディジットのシーケンスを入力し、シーケンスの終わりでＳＴＯキー１４を押すと、セルラ電話機のデコーディングソフトウェアによってシーケンスの処理が開始される。ディジットの最後のシーケンスに対して、ユーザはＥＮＤキー４を押すように指示される。そして、完全に更新されたＮＡＭ情報が実際のＮＡＭ２５に書き込まれる。
【００７２】
〔入力の整合性検査〕
Ｐコードシーケンスの入力中に、セルラ電話機のソフトウェア又はファームウェアによってエラーが検出されると、「再入力（Try Again）」の表示と可聴のエラートーンにより、ユーザはシーケンスの入力を繰り返すように忠告される。ユーザが入力したディジットのシーケンスが整合性検査をパスすると、「進む（Go Ahead）」の表示と可聴の成功トーンが発せられ、このシーケンスの入力が成功し、次のシーケンスが入力できることを知らせる。
【００７３】
Ｐコードデータの最後のシーケンスに続いて、ＥＮＤキー４を押す。上述したように、ＥＮＤキー４を入力すると、Ｐコードシーケンス全体の整合性が検査される。入力したＰコードデータが整合性検査をクリアすると、セルラ電話機は、標準の「起動（Wake-Up）」表示と関連するトーンを出して、正常に使用できる準備ができたことを示す。しかし、ＥＮＤキー４が押されたときに、プログラミングデータに有効なＭＩＮ（００００００でない）電話番号が未だ含まれていないときは、入力された全てのデータは破棄され、セルラ電話機はＰコード入力プロンプト状態に戻る。このセルラ電話機には、ＲＣＬキー１６が設けてあり、Ｐコード入力モード中に、上位ディジットを一時的に表示する。
【００７４】
〔セグメントの整合性検査〕
セグメントの整合性検査は、プロセッサユニット２３内のＰコードモジュール２４によって実行され、ユーザが入力した各Ｐコードセグメントの整合性を検査する。以下、この詳細について説明する。
【００７５】
これらの検査においてエラーが検出されると、システムは、間違ったセグメントが入力されたことを示し、セルラ電話機をその特定のセグメントが入力される前の状態に戻す。
【００７６】
〔プリアンブルの検査〕
セルラ電話機のキーパッド５を介して入力されたプリアンブルのデータは、セルラ電話機で使われているソフトウェアバージョンに適合していることを確認するために、記憶されているルックアップテーブルのＩＤと比較される。
【００７７】
〔ポストアンブル（チェックディジット）の検査〕
チェックサム処理により、ポストアンブル（チェックディジット）が検証される。
【００７８】
〔パラメータの長さの検査〕
特定のフィールドＩＤの各パラメータシーケンスの長さは、セグメントの長さである。したがって、フィールドに入力されたデータのシーケンスの実際の長さが、セグメントに割り当てられた所定の長さとなっているかが検査される。
【００７９】
〔未定義フィールドＩＤの検査〕
セグメントのフィールドＩＤは、システム内で検出される値であることを確認するために、セルラ電話機内に記憶されているフィールドＩＤの情報と照合される。
【００８０】
〔ルックアップテーブルのインデックス範囲〕
Ｐコードデータのシーケンス内において特定されるルックアップテーブルのインデックスは、特定のソフトウェアバージョンに対応するルックアップテーブルのインデックスの範囲内であるかが検証される。
【００８１】
〔ＭＩＮディジットの検査〕
ＭＩＮディジット情報は、１０進数でない＊又は＃以外のキャラクタがＭＩＮシーケンスに現れないことを確認するために、検査される。
【００８２】
〔システム識別番号ＳＩＤの検査〕
システム識別番号ＳＩＤの情報を含むセグメントは、特定のシステム識別番号ＳＩＤが例えば００００〜２３７６７の範囲内であることを確認するために、検査される。
【００８３】
〔オプションの検査〕
セルラ電話機のための様々なオプションを含むセグメントは、機器仕様に対して互換性を有するかが検査される。
【００８４】
〔ＬＵ及びＭＩＮマークの検査〕
ＬＵ又はＭＩＮマークのデータ情報を含むセグメントは、情報が範囲内であることを確認するために、検査される。
【００８５】
〔ステーションクラスマークＳＣＭの検査〕
ステーションクラスマークＳＣＭのデータを含むセグメントは、ステーションクラスマークＳＣＭのデータが例えば１０又は１３の範囲内であることを確認するために、検査される。
【００８６】
〔グループ識別マークＧＩＭの検査〕
グループ識別マークＧＩＭのデータを含むセグメントは、グループ識別マークＧＩＭのデータが例えば００〜１５の範囲内であることを確認するために、検査される。
【００８７】
〔アクセスオーバロードクラス情報ＡＣＣＯＬＣの検査〕
アクセスオーバロードクラス情報ＡＣＣＯＬＣのデータを含むセグメントは、アクセスオーバロードクラス情報ＡＣＣＯＬＣのデータが例えば００〜１５の範囲内であることを確認するために、検査される。
【００８８】
個人的なオプション設定に関する情報も、同様に検査される。
【００８９】
この方法では、セルラ電話機は、入力シーケンスで間違いが生じると、ユーザに知らせるエラー検出コーディングを内蔵しているので、ユーザは、プログラミングを容易に行うことができ、また、プログラミングが保証される。
【００９０】
〔Ｐコードプログラミングのフローチャート〕
本発明を適用したセルラ電話機全体のプログラミング動作を図４に示す。
【００９１】
セルラ電話機は、工場において、特殊なＰコード入力モードに初期設定されている。例えば、全てのＮＡＭ（ＮＡＭ１及びＮＡＭ２）エントリは、電話製造業者によって消去、すなわちＭＩＮ＝００００００００に設定されている。
【００９２】
セルラ電話機の電源スイッチ６をオンにすると（ステップＳ４００）、電源をオンにするシーケンスが全ての構成要素がＯＮになっているかの検査を開始する。ステップＳ４０１において、削除された未設定のＮＡＭエントリが判別されると、プロセッサユニット２３は、「P-Code01」プロンプトをディスプレイ３に表示し（ステップＳ４０５）、キーパッド５からのキー入力を受信する準備が行われる（ステップＳ４０６）。
【００９３】
Ｐコードは直接入力できるが、安全性を増すために、セルラ電話機がＮＡＭプログラミングモード（ステップＳ４１０）に進む前に、ユーザは、適切なプログラミングパスワードを入力しなければならない（ステップＳ４０６）。キーパッド５を押してパスワード又はＰコードを入力すると、各ディジットがセルラ電話機のディスプレイ３に表示され、ユーザは、キーストロークが正しいか確かめることができる（ステップＳ４０７）。ＲＣＬキー１６を押すと、セルラ電話機のキーパッド５を介して入力された最新のディジットが表示され、ユーザ及びダイアルアップアクセスセンタは、どのディジットが入力されたのかを確かめることができる（ステップＳ４１２）。ＣＬＲキー１３は、１ディジット信号を供給し、マイクロプロセッサ２６に表示をクリアするように指示する（ステップＳ４１１）。ＲＣＬキー１６及びＣＬＲキー１３の信号が出力されると、マイクロプロセッサ２６は、ステップＳ４０６に戻り、更なるキー入力を待つ。ＳＥＮＤキー１２を押すと、ステップＳ４１６において、ダイアルアップセンタに対する発呼を開始する。その後、マイクロプロセッサ２６は、Ｐコードを表示す状態に戻る（ステップＳ４０５）。
【００９４】
ＮＡＭプログラミングモードの間に、Ｐコードセグメントの入力が一旦開始されると、ＳＴＯキー１４はセグメントの終わりを意味し、ＥＮＤキー４はＰコード全体のシーケンスの終わりを表す。ＳＴＯキー１４又はＥＮＤキー４が押されると、整合性検査が行われ（ステップＳ４１８）、マイクロプロセッサ２６は、上述したように、フィールドＩＤとユーザが入力したＰコードセグメントの整合性を検査する。マイクロプロセッサ２６は、整合性検査により間違った入力を発見すると、ディジットをクリアして（ステップＳ４２０）、エラートーンを発し（ステップＳ４２１）、ステップＳ４０６でそれ以上のキー入力を受信する前に、「再入力（Try Again）」のメッセージを点滅する（ステップＳ４２２）。
【００９５】
整合性検査に成功すると、Ｐコードセグメントから得られたＮＡＭ情報のセグメントのデータは、メモリに一時的に記憶されて、編集される（ステップＳ４２４）。ステップＳ４２６においてＥＮＤキー４が押されないと、マイクロプロセッサ２６は、ディジットをクリアして（ステップＳ４２８）、正常なトーンを発し（ステップＳ４２９）、ステップＳ４０６でそれ以上のキー入力を受信する前に「進む（Go Ahead）」のメッセージを点滅する（ステップＳ４３０）。ステップＳ４２６においてＥＮＤキー４の信号を受信すると、完全な電話番号を受信しているかの検査が行われ（ステップＳ４３２）、受信していない場合は、マイクロプロセッサ２６は、初期のＰコード表示にリセットされる（ステップＳ４０５）。
【００９６】
完全な電話番号が入力されていると、Ｐコードモジュール２４からＮＡＭ２５に編集されたＮＡＭ情報のデータが書き込まれる（ステップＳ４３４）。その後、命令されない限り、セルラ電話機は、ＰコードプログラミングシーケンスによってＮＡＭ２５に書き込まれたＮＡＭ１、ＮＡＭ２情報に基づき、ネットワークに対して起動し、動作する（ステップＳ４３６）。
【００９７】
あるいは、上述したように、全部のプログラミングシーケンスが既に完了していると、ＮＡＭエントリは、ステップＳ４０１におけるエントリを含んでいることになる。Ｐコード入力モードは起動されず、初期モード（ステップＳ４０２）が開始される。そして、ユーザが新しいＮＡＭ情報をセルラ電話機に入力（ステップＳ４０３）するために、パスワードを即座に入力しない限り、マイクロプロセッサ２６は、次の正常モード（ステップＳ４０４）に進む。
【００９８】
ユーザがＮＡＭ情報をプログラミングするためにパスワードを入力すると、マイクロプロセッサ２６は、ＰコードＮＡＭプログラミングモードに進む（ステップＳ４１０）。そして、上述したようにＰコードセグメントが入力され、新しいプログラミング情報がＮＡＭ２５に書き込まれる。そして、シーケンスの終わりに、マイクロプロセッサ２６は、新しいＮＡＭ１情報及び正常モードの機能に基づいて起動される。
【００９９】
最後に、電話番号情報を入力するＰコード起動手順が実行されているかどうかに関係なく、緊急（９１１）及びオペレータアシストオーバライド（６１１）の電話呼出しを、空ＭＩＮのようなデフォルト設定を使って行うことができる。
【０１００】
〔プログラミングモードの安全対策〕
上述した実施例において、本発明は、ランダムに生成されたパスワードを使ってプログラミングモードの更なる安全対策を行い、このパスワードにより、ハードウェアサプライヤ及びネットワーク運用業者は、セルラ電話機が再プログラミングされて他のネットワークで使用されるリスクなしで、特定のネットワークで使用するセルラ電話機を提供することができる。
【０１０１】
この実施例において、Ｐコードソフトウェアは、セルラ電話機を起動したときに、個々の機器に対して新しいパスワードをランダムに生成する。これらのパスワードは、サービスセンタのデータベースに記憶され、例えばユーザが後で取引をキャンセルする呼出しを行うか、ネットワーク運用業者の管理範囲内の別の地域に移動するまで明らかにされない。
【０１０２】
各セルラ電話機に対して２つのパスワードを生成するようにしてもよい。ＲＥＳＥＴパスワードと称する第１のパスワードは、セルラ電話機をＰコード入力モードに戻すのに使用され、Ｐコードを用いてセルラ電話機に新しい電話番号を再プログラミングすることができる。ＲＥＳＥＴパスワードは、ネットワーク運用業者だけがアクセスでき、新しい電話番号は、セルラ電話機の購入代金に助成金を出すネットワーク運用業者だけが、セルラ電話機にプログラミングすることができる。
【０１０３】
ＲＥＬＥＡＳＥパスワードと称する第２のパスワードは、ネットワーク運用業者との取引を永久にキャンセルするのに使用される。同様に、ＲＥＬＥＡＳＥパスワードは、ネットワーク運用業者だけがアクセスでき、ネットワーク運用業者は、ユーザの取引がキャンセルされ、セルラ電話機が他のネットワーク供給業者で使用するために開放されるかどうかを管理する。ＲＥＳＥＴパスワード及びＲＥＬＥＡＳＥパスワードの操作上の手順は、確立されており、ユーザは、サービスセンタに電話して、あるいはセルラ電話機を許可されたサービスセンタに持ち込んで、これらの番号を得ることができる。
【０１０４】
これら２つのパスワードを生成するためのアルゴリズムについて説明する。
【０１０５】
〔ＲＥＳＥＴパスワード〕
Ｐコード起動中に、セルラ電話機に割り当てられるＭＩＮ（例えば、１０桁の電話番号）の最初の８ディジットを用い、例えばＰコードの本体部分のスクランブリングに（上述したように）使用した同じスクランブルアルゴリズムを使って、スクランブルされた８ディジットのシーケンスを生成する。スクランブルされた８ディジットを、ＲＥＳＥＴパスワードとしてセルラ電話機の不揮発性メモリ及びダイアルアップアクセスセンタのソフトウェアデータベースの両方に記憶する。
【０１０６】
〔ＲＥＬＥＡＳＥパスワード〕
Ｐコード起動中に、セルラ電話機に割り当てられるＭＩＮ（例えば、１０桁の電話番号）の最初の８ディジットを用い、例えばＰコードの本体部分のスクランブリングに（上述したように）使用した同じスクランブルアルゴリズムを使って、スクランブルされた８ディジットのシーケンスを生成する。スクランブルされた８ディジットを、ＲＥＬＥＡＳＥパスワードとしてセルラ電話機の不揮発性メモリ及びダイアルアップアクセスセンタのソフトウェアデータベースの両方に記憶する。
【０１０７】
ＲＥＳＥＴパスワード及びＲＥＬＥＡＳＥパスワードを生成するこれらの方法は、適度にランダムであるが、セルラ電話機側及びセンタ側で独立して計算アルゴリズムを簡単に実行することができる。Ｐコード／ＲＥＳＥＴパスワード／ＲＥＬＥＡＳＥパスワードの組合せから、ＥＳＮ、ＮＡＭの内容及びスクランブルアルゴリズム自身を解読することは、仕様書が安全な環境に保管されているため、たとえ誰かが侵入目的で入力データの大きなブロックを入手したとしても困難である。
【０１０８】
以上、本発明の好ましい実施例について詳細に説明したが、本発明は、上述の実施例に限定されるものではなく、本発明の範囲及び趣旨を逸脱することなく、本発明が属する技術分野の通常の知識を有する者にとって適宜変更が可能である。
【０１０９】
【発明の効果】
上述したように、本発明は、ハードウェアサプライヤ及びネットワーク運用業者の間で交換される情報をセルラ電話機に記憶し、ルックアップテーブル又は他のデータ構造としてダイアルアップアクセスセンタで利用できるようにされているので、ユーザはセルラ電話機をプログラミングする簡単で適切な命令を得ることができ、ユーザ自身でセルラ電話機のプログラミングを簡単に行うことができる。
【図面の簡単な説明】
【０１１０】
【図１】  本発明が適用されるセルラ電話機の外観を示す斜視図である。
【図２】  本発明が適用されたセルラ電話機の要部の構成を示すブロック図である。
【図３】本発明に係るセルラ電話機のネットワークの動作を示す流れ図である。
【図４】本発明が適用されたセルラ電話機の総合的な動作を示す流れ図である。
【符号の説明】
【０１１１】
５ キーパッド、２３ プロセッサユニット、２４ Ｐコードモジュール、２５ ＮＡＭ、２６ マイクロプロセッサ
【図１】
0003836186.tif 000006
【図２】
0003836186.tif 000007
【図３】
0003836186.tif 000008
【図４】
0003836186.tif 000009