HOMEFactoryメール
80_Factory

Offisnail Contact+ α005 国際電話デバッグ版

現在、マイナス40の世界からのShugohさんのご協力を得て国際電話機能のデバッグを進めています。
いままでの内容についてはこちら

いくつか問題が見つかったので対応版のリリースです。他の機能についてはα004と同等です。

    

【変更点】

  • 自国内発信(現在のキャリアの国と発信する電話が同一の場合)国番号を強制的に0に変換していたバグを修正。
    事前に設定が必要になります。具体的な方法は後述。
  • 国際電話のための詳細設定画面を追加。
  • SMS発信時、国際電話機能がONになっている場合、国番号を付加するように変更。
  • ローミングの検出方法の変更

    

【国際電話の詳細設定】

  • 設定の内容
    例えば日本の電話番号03-1111-2222で電話する場合、
    日本国内からは、そのまま03-1111-2222へ電話
    海外から日本へは、国コード+市外局番から0を除いた+813-111-2222へ電話
    する形となります。α004では、連絡先に+813-1111-2222と登録されている場合、国内通話の際に国番号の+81を外し市外局番の0を強制的に付加していました。
    日本や市外局番が0からはじまる国では問題ないようですが、0から始まらない国や0から始まっても0を省略しない国では正常に動作しないため今回から国番号の扱いをオプションで指定できるようにしてあります。
      
  • 設定方法
    (1)連絡先一覧画面の右メニュー→設定で設定画面を表示します。
    (2)設定画面の右メニュー→国際電話を選択し、国際電話発信方法ボタンを押します。
    (3)以下の画面が表示されます。この画面で、指定した国で電話を発信する際の設定を行います。
    ※厳密にいうとMCC(Mobile Country Code)と呼ばれる携帯電話の国コード別に設定を行います。
    ※画面上部のキャリア名の後に表示される5桁の数値の頭3桁がMCCとなります。
    日本国内でSoftbankの場合、キャリア名にSoftbank(44020)と表示されるので、日本から発信する設定を行う場合は下のリストの440 日本の行を選択し編集ボタンを押してください。
    mccedit01


    (4)詳細画面が表示さます。以下の2点を設定します。
     
    mccedit02

    (A)国際電話発信時のプリフィックス  
       国際電話をかける際、先頭に付加する番号を指定します。
       日本国内から海外へ電話をかける際は国際アクセスコードが必要ですので、設定を行います。

    (B)国内電話発信時の国番号の変換
       空白
    :国内に電話をかける際、自国番号を削除します。
       :国内に電話をかける際、自国番号を0に置き換えます。(デフォルト)
       任意の数値:国内に電話をかける際、自国番号を指定した数字に置き換えます。

  

   

【ダウンロード】

        

とりあえず、Shugohさんから報告された情報を元に対処を行いました。他に国際電話を利用されている方がいらっしゃいましたら動作確認情報や要望・ご意見を絶賛募集中ですので、よろしくお願いしますm(_ _)m

   

3/20追記

Shugohさんよりレポートがありましたので、対応版をリリースしました。以下の2点を変更してあります。

【変更点】

  • 既定の国の番号変換ミスの対処
    Shugohさんのレポートの既定の国が日本の場合の×の部分です。
    こちらの版ではOKだったので、おそらくcab作成時のミス
  • 一覧画面のキャリア名現在国の表記の修正
    非ローミング時: Softbank 日本(+81)
    ローミング時: ▲Cingular 米国(+1)
    不明:?Cingular 米国(+1) の様に表示する様に変更しました。

【ダウンロード】

     

3/20追記 その2

Shugohさんよりレポートがありましたので、またまた対応版をリリースしました。以下の2点を変更してあります。

【変更点】

  • ()付きで登録されている電話番号で国際電話変換ミスするバグに対応
  • 編集画面の国際電話編集支援画面(電話番号入力欄でEnterで出てくる画面)に市外局番を編集する画面を追加
  • 設定画面に現在国を強制的に指定する画面を追加
    ※設定→右メニュー→国際電話→現在地指定
    自動にすると従来通り、国を設定すると強制的に現在の国を指定します。

【ダウンロード】

Trackback

TrackBack URL: http://www.offisnail.info/mt/mt-tb.cgi/114

コメント

素早いご対応ありがとうございますm(_ _)m
α005のレポ弊blogに上げておきました。
ローミングの判定表示はうまくいっているようですが、実際の発信の方に反映がうまくいっていないようです。

連続投稿すみません。
大きな勘違いをしておりました。
海外でのローミング、現地でのSIMとも問題なく発信が可能でした。

重ねて、素早いご対応に感謝いたしますmm(__)mm

こんにちは。このアプリに非常に期待しています。
で、ご迷惑かと思いますがコメントさせて頂きます。
私はまったくコードが書けないのですが、このような機能の仕様を考えたことがあります。その時には、SIM自動識別機能をアプリに実装できれば楽と思いました。その他に、発信地(現在国)情報と発信先(相手国)情報の設定ができれば、世界中どこでも使えるアプリになるはずですから。
また市外局番(例:03)を国内prefix(0)と市外局番(3)に分け、電話番号をアプリでいじる部分と不動の部分で管理を分けると良いと思います。
変な文章ですみません。

Offisnailさん、うまく変換できない点ですが、何となくわかってきました。
市外局番が()で括ってあると変換されないようです。特に母艦PCで新規連絡先作成時にダイアログの電話番号下のボタンを押して「電話番号を確認」で市外局番を入れて入力すると()がつくので、そのデータが駄目ですね。()がないものはOKでした。

h-w さん
 迷惑だなんて、とんでもない!
 自分で使わないものは作らないという禁を破って作った機能ですので、大歓迎です。
 考え方はh-wさんと同じで、発信地はSIMから取得し(実際にはSIMから取得したMCCとういう国コードを元にMCC.TXTに記載してある情報で国を判定)、発信先は電話帳に登録されている電話番号を元に国際・国内電話番号を生成しています。

 電話番号については、自国(日本)の連絡先は通常通り登録し、海外の連絡先は+ではじまる国番号を付加して登録することを前提にしています。
 電話番号を触る部分については国番号+設定画面で登録された国番号変換情報(要は市外局番の0を外すか、外さないかの設定)を元に自動で判定するようにしています。(区切り文字を入れるなど特殊な運用は避けたいので)

 shugohさnのご協力で、バグも取れてきつつあるので機会があれば試してみて下さいね。

shugohさん
 なるほど。確かに国番号を分離した後の先頭の文字を単純に比較しているだけなので、そうなりますね(;^^A
 直しますねー

早速のコメントありがとうございます。近々海外に行くかも知れないので試してみます。
ちなみに私は日本国内ではUniversalにSoftbankのSIMを入れ、例えば中国ではCHINAMOBILEのSIMに入れ替えて使っています。なのでPDAの電話帳には、中国にあるA社の固定電話番号は、
A社(日本から) ----> 00??-010-86-775-1234-5678
A社(中国国内) ----> 0775-1234-5678
等と2行登録しています。また中国のBさんの携帯は、
Bさん(日本から) ----> 00??-010-86-135-1234-5678
Bさん(中国国内) ----> 135-1234-5678
となっています。これに関して以下をお教え願えませんか。
(1)Softbankで日本から海外へ発信する場合は"+"は使えず、"事業者コード(00??)"+010+"Country Code(86)"となります。この対応をしていただけると助かるのですが。。。
(2)日本で電話帳に登録したものを中国に持って行き、さらに再び日本に帰ってきたときの電話番号の書換ルールに可逆性(上記4行が日本に戻ってきたときに元に戻る)はあるでしょうか。
(3)MCCは電波をつかんだキャリアの情報であり、SIMを識別する情報ではないと思うのです。海外でのローミング(例:CHINAMOBILEのSIMを香港で使う場合等)で電話番号生成ルールに影響が出るような気がします。チャンスがあれば試してみます。
(4)このアプリを海外でアンインストールしたときに元の電話番号に影響はでませんか。

実際に発信しなくても良いので、生成した電話番号を表示するだけの機能があれば気軽に試せるのですが(α、β版だけでも)。。。

色々書いて申し訳ありません。

横からすみませんm(_ _)m
h-wさん、最後の行の「生成した電話番号を表示するだけの機能」は「メニュー」ー「設定」ー「メニュー」ー「共通」の「ダイアル方法」の「確認画面を表示する」にしておき、ダイヤルしようとすると変換された電話番号を確認できます。

h-wさん

 まずは、ご質問に対する回答から。
 
(1)の日本から発信する際の事業者コード+010は設定可能です。
 このエントリーの設定方法の(4)の国際電話発信時のプリフィックスに入力します。
 
(2)特に電話番号の書き換えは行っていません。
 電話番号発信時に登録されている電話番号と事前に設定されたルールを元に電話番号をその場で生成して電話をしているだけです。
 相手先が自国(日本)の場合090-XXXX、海外の電話は+1-XXXと登録する形になります。
 自国は設定の既定の国で設定することが可能です。
 
(3)機会があったら確認をお願いしますm(_ _)m
 
(4) (2)と同じ回答になりますが登録データに変更は加えません。

 示された例の場合だと、現行の仕様では以下のような動作になります。

【固定電話のA社の場合】
 ・国際電話の詳細設定(エントリー(4)の画面)で
  日本の設定を、上から00??010、0と設定、中国の設定はデフォルトのまま。
 ・連絡先の電話番号を+86-775-1234-5678もしくは+86 (0775) 1234-5678 と登録します。
 実際に電話する場合は、
  日本からA社に電話は、00??-010-86-775-1234-5678に電話します。
  中国からA社に電話は、0775-1234-5678に電話します。

【携帯電話のBさんの場合】
 実際に電話する場合は、
  日本からA社に電話は、00??-010-86-0135-1234-5678
  中国からA社に電話は、0135-1234-5678
 と電話番号の先頭に0が付いてしまいます。
 国際電話の詳細設定の中国の部分を、上から(空白),(空白)に設定するとうまく動作するようになりますが、今度は固定電話の市外局番に0がつかなくなります。
 
 結論としては、現在のロジックでは市外局番の0を付けるか付けないかが排他になっているので共存ができないですね。
 
 対策のプランとしては、市外局番は()で括るというルールをつけて市外局番には0付加のルールを適用させ、以降の電話番号はそのままダイアルするとかですかね。
 例えば固定電話を+86 (775)1234-5678、携帯電話を+86 135-1234-5678と登録すると()で括られた775にのみ先頭に0を付けるなどのルールにするとうまく行きそうですが。
 ちょっと考えてみますね。

 電話番号だけ表示するにはshugohさんのコメントのとおりの設定で可能です。
 また、現地に行った時の再現の為に、現在国を強制的に指定する設定を追加しました。設定→右メニュー→国際電話→現在地指定 で460 中国を指定すると中国に行った時にダイアルする電話番号を確認することができます。

さっそく回答ありがとうございました。意味不明の質問だったかもしれませんが、丁寧な解説申し訳ありませんでした。
国際prefixに事業者コードを入れれば良いことはこちらでも先ほど気付きました。お手数おかけして申し訳ないです。
また番号生成後の表示は、shugohさんのご指摘で気付いたので色々やってみています。

#shugohさんありがとうございました。

気が付いた点:
[設定]→[国際電話]→[国際電話発信方法の編集]のMCC毎に発信番号などを設定する画面で、"国番号"が2桁しか表示されません。(実際の番号生成は問題ないようなので私が使用しているフォントが原因かも。)
例えば、香港(852)、マカオ(851)などの表示が全て"+85"となっています。

h-wさん
 2桁しか表示されないのはバグですね(;^^A
直します。ご連絡ありがとうございましたm(_ _)m

タイにて、AIS SIMのHTC Kaiserでα005-3をテストさせていただいています。

電話番号は[+国番号-市外局番-市内局番-番号]のフォーマットで登録しておりますが、発信国タイに国際電話発信番号"009"を登録したところ、タイ国外への発信の際に009が自動で頭についています。

これまではOffisnail Contactで発信前の番号確認の画面を出し、毎回手で009を入力していたのですが、これを自動でこなしてくれるこのソフト、まさに待望でした。

引き続きテストさせていただきます。ありがとうございます。

SHOさん

 無事動作したようですね。
 とりあえず発信は、ほぼ動作するようになった様なので、他の使い勝手が悪い部分があれば、細かいところでも結構なのでご連絡下さいね。
 例えば、日本とタイとシンガポールをメインで使っているが、国番号指定リストに国が全て(200件)表示されるのは面倒etc
 もう少し使い勝手を上げないと常用は厳しそうなので(;^^A
 確認ありがとうございました。m(_ _)m

国際発信には関係のないところなのですが....

アドレス登録が1000件以上あり、タブで「あかさたな....」を選んだ後、え行、お行あたりのアドレスに行き着くまでのスクロールダウンに時間がかかって困っています。

何らかのキーであ行→い行→う行→え行→お行(アルファベットも同様)とジャンプできるようにしていただけると、とても便利になるかと思います。

どのようにキーをアサインするかという問題はあるかと思いますが、ご検討いただけるとうれしいです。

SHOさん
 この件については、過去2件ほど要望がありましたが、例えばX01HTやX01Tのキーボードを収納した状態での使用では、キーが足りないので難しいのが現状です。
 今のところ、かな入力によるサーチで対応していただく形になります。

ご教示ありがとうございます。

WM6標準のコンタクトでは、カーソルをホールドすると画面上にアルファベットが大きく表示されてA→B→Cと順に送られてゆき、ホールドを止めたときに表示されているアルファベットに飛ぶ、という感じになっているかと思いますが、あれと近い操作を実装するのは難しいでしょうか。

Kaiserのキーボードをしまったままの状態で、片手で発信操作ができればベストなのですが....というより、スタイラスを出さないとスピーディに発信もできない、というところにWMの弱みがあると感じています。

ともあれ、すばらしいソフトの恩恵を受ける機会を広く与えていただき、ありがとうございます!

 標準の予定のカーソルホールドのUIは、思ったように操作することができないので、実装する事はありません(;^^A
 WMが片手操作に弱いというよりは、縦画面のソフトキー×2 + 5Wayキーしか使えない筐体の問題でしょう。10キーすら使えないのに携帯電話並みの片手操作を望む方に無理があるかと。Treoの様な全面フルキーの機種では全く別の印象になりますし。
 こちらでも、いろいろ考えてみますね。

コメントを投稿