atコマンドでSIMの自番号を書き換える

以前は、ATコマンドを打つターミナルの起動まででした。

自身の番号の書き込み

simに番号が付いていない場合がある。

; Subscriber Number example see output of cli ‘dongle show devices’ column “Number”

; may be empty, use for save in SIM commands AT+CPBS=”ON” and AT+CPBW=1,”+123456789″,145

http://wiki.e1550.mobi/doku.php?id=configuration

前回、これをみて試そうとしたがうまく行かないと言う記事を書いた。

https://community.asterisk.org/t/chan-dongle-subscriber-number/40485/6
のフォーラムでも同じように、SIMに番号を設定できない話題です。
ただ、AsteriskのCLIでATコマンドが通らない話もしているから、CLIではなく、cuなどで直接シリアルのターミナルでやって欲しい。


AT+CPBS=”ON”
AT+CPBW=1,”+123456789″,145
を実行すると、自番号を変更できるという説明に見えるが、実は他にも準備が必要である。
あくまでも、SIMに登録している自番号を変える事で、外から呼び出す番号を変えるものではありません。
日本のキャリア契約でも、機種変したり、スタッフのSIMの登録ミスなのかわからないのですが、自番号が登録されていないことがあります。
これまでは、shopへ行き、SIM交換をしてもらう必要がある。(これをやる前に、iPhoneの初期化してくださいとか、端末の故障などを疑われて、SIM交換まで大変だった記憶があります。)

自番号を表示するコマンド

AT+CNUM
OK
本当はここに表示されるはずですが、OKが返されるだけです。
ジャパンSIMのiPhone用黒シムや、海外のSIMなど見かけました。(あとは前述した、日本の普通の契約でも、スタッフのミス?か磁気の影響で消えたとか?

SoftbankSIMでちゃんと自番号が登録されている物で行ってみた
AT+CNUM
ERROR+CNUM: “”,”070xxxxxxxx”,129
と返された。ERRORが付いているのは、なぜか理解ができない。

SIMの電話帳を見る

SIMの電話帳とはなに?という方は、まだ知識が足りないので、よそで調べてきてから、進めてください。

開く電話帳を選ぶ
電話帳の種類には、
(“ME”,”SM”,”MT”,”ON”,”DC”,”MC”,”RC”,”EN”,”AD”,”QD”,”SD”,”FD”)
といろいろあります。

values reserved by this TS:”DC” ME dialled calls list (+CPBW may not be applicable for this storage) $(AT R97)$”EN” SIM (or ME) emergency number (+CPBW is not be applicable for this storage) $(AT R97)$”FD” SIM fixdialling-phonebook”LD” SIM last-dialling-phonebook”MC” ME missed (unanswered received) calls list (+CPBW may not be applicable for this storage)”ME” ME phonebook”MT” combined ME and SIM phonebook”ON” SIM (or ME) own numbers (MSISDNs) list (reading of this storage may be available through +CNUMalso) $(AT R97)$”RC” ME received calls list (+CPBW may not be applicable for this storage) $(AT R97)$”SM” SIM phonebook”TA” TA phonebook: integer type value indicating the number of used locations in selected memory: integer type value indicating the total number of locations in selected memory

https://www.activexperts.com/sms-component/at/commands/?at=%2BCPBS

コピペしたらわけわからなくなったのですが、精査してませんが、このような種類の電話帳があるようです。
“DC” ダイヤルコールリスト
“EN” 緊急番号
“FD” SIM fixdialling-phonebook
“LD” SIMの最後のダイヤルした電話番号リスト
“MC” 電話を逃した(未応答の)コールリスト
“ME” “retrieve mode” to the internal phonebook.
“MT”は、MEとSIMの電話帳を組み合わせたものです
“ON”  own numbers (MSISDNs) list
“RC”私はコールリストを受信しました
“SM” SIM電話帳
“TA” TA電話帳

とりあえず、このページで使うのは、”ON”と”SM”です。

普通の電話帳を見る

まずは、普通のSIMの電話帳を見ます。
AT+CPBS=”SM”   SIMの電話帳へ切り替える
AT+CPBR=1 1番目だけ見る


電話帳の確認
AT+CPBS?
+CPBS: “SM”,4,250
現在SMを選んでいる
4=使用しているアドレス帳の数
250=全体のアドレス帳の数

AT+CPBR=1,99  1~99まで見る
ただ、AT+CPBS? で調べた最大アドレス帳を確認して、それより大きいものを指定すると、Errorが返される
SIMにより、最大が50や250などがある。

電話帳の追加、削除

AT+CPBW=1,”+8190xxxxxxxx”,145 で登録
AT+CPBW=,”6187759088″,129,”Adam”  リスト番号がないと、空き領域に追加される

3つめのオプションは、国番号をつけるかどうかのようです。
とりあえず、国番号が付くのは、145
その国だけのものは、129
177はそのキャリアだけの番号
かな?

129 – National number type
161 – National number type
145 – INternational number type
177 – Network specific number

http://m2msupport.net/m2msupport/sim-phonebook-at-commands/

AT+CPBW=1 で削除。リスト番号だけで登録が削除のようです。
複数一気に消す方法はわかりません。調べてません。

自身の番号を書き込む

前述の通り、電話帳を自身の番号に切り替える。
AT+CPBS=”ON” 自身の番号の登録用アドレス帳へ変更
このあと、ターミナルを放置すると、電話帳はSMに変更されるので、すぐに次のコマンド登録へ進む

念のため開いているアドレス帳の確認
AT+CPBS?
+CPBS: “ON”,1,4
4つ領域があるのは不明

登録
AT+CPBW=1,”+123456789″,145
OK
やっと成功した。
何年も調べていて、わからなかったのです。

自番号の確認は
AT+CNUM
+CNUM: “”,”+447xxxxxxxx”,145
と返されます。

+CPBS: “ON”,1,4
の状態だと、
AT+CPBR=1
+CPBR: 1,”+447xxxxxxxx”,145,””
と返される。

最後に

私は、Asteriskを起動したまま、シリアルのターミナルを開いて作業をしていた。本当は好ましくない。
いろいろと作業したりすると、Asteriskからシリアルポートを見失うようなので、ターミナルの作業を終えたら、Asterisk側のチェックが必要。

まとめ

AT+CPBS="ON" が有効のONだと勘違いしていた。
そして、SIMの電話帳の1番に書けばいいと勘違いしていた。

AT+CPBS="ON"をして、一定時間経つと、SMに切り替わっているようだ

以下は、別の要件のめもです。

システム設定 SYSCFG

AT^SYSCFG?
^SYSCFG:2,2,3FFFFFFF,1,2

AT^SYSCFG=14,3,400000,1,2
が自分のところは良いかな。
3G only,3G first,WCDMA指定,roaming有り、最後は分からないからそのまま。
ちなみに、実行したらAsteriskからドングルを見失ったので、Asteriskを再起動した

AT^SYSCFG=mode, order, band, roaming, domain
Mode:
2 Automatic search
13 2G ONLY
14 3G ONLY
16 No change

Order:
0 Automatic search
1 2G first, then 3G
2 3G first, then 2G
3 No change

Band:
80 GSM DCS systems
100 Extended GSM 900
200 Primary GSM 900
200000 GSM PCS
400000 WCDMA IMT 2000
3FFFFFFF Any band
40000000 No change of band

Roaming:
0 Not supported
1 Roaming is supported
2 No change

Domain:
0 CS_ONLY
1 PS_ONLY
2 CS_PS
3 ANY
4 No change

https://wiki.archlinux.jp/index.php/Huawei_E1550_3G_%E3%83%A2%E3%83%87%E3%83%A0


コメントする

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください