パススルー

Posted : 2003-03-16 / Category : [work/as]

遠隔地にあるASに、公衆回線を使って直接接続する方法です。

相手の電話番号と、相手先識別コードと、リモートロケーション名と、APPC装置名さえ分かれば つなげることができる…ハズです。

必要なのは双方に*LIN、*CTL、*DEV、*DSP、*VCTL(これは電話を受ける側にあればいい)ですかね?
注意しなくちゃいけないのが、電話番号のトーンとパルスと、相手先識別コードです。

電話をかける側のCTLに電話番号を設定するのですが、回線によって電話番号の前に"T"や”P"をつける場合があります。
これもよく分からないので、いろいろと付けたり外したりしながら試しました。

あとは相手先識別番号。これは起動側LIN→相手側CTL、起動側CTL→相手側LINの相手先識別コードが同一でないとつながりません。
パスワードみたいな扱いなのかな?
同一AS内で同一相手先識別番号のCTLやLINを作成できないみたいなので(←怒られた)同じ識別番号の場合は、LINやCTLを共有して、パススルー開始時に電話番号をCHGして使います。

WRKCFGSTS *LIN(ここが*CTLだったり*DEVだったりする)で、そのASに存在するものが確認できます。


通常の接続順序は

1.*DEV→*CTL→*LIN→*DSP→*VCTLの順に*OFFにします。
2.終わるのを待つので、DLYJOBで2秒くらい待ってみます。
3.*LIN→*CTL→*DEV→*VCTL→*DSPの順に*ONにします。
ここまでが回線準備(CLサンプル:PASSON)。
4.STRPASTHRで、リモートロケーション名と仮想DSP装置名(*VCTL)を指定します。
リモート・ロケーション . . . . 名前 , *CNNDEV
APPC 装置 . . . . . . . . . . *LOC 名前 , *LOC
これでつながるはず。
5.ENDPASTHRで回線を切断します(CLサンプル:PASSOFF)。


[CLサンプル:PASSON]

MONMSG CPF0000
VRYCFG CFGOBJ(USERDEV) CFGTYPE(*DEV) STATUS(*OFF)
VRYCFG CFGOBJ(USERCTL) CFGTYPE(*CTL) STATUS(*OFF)
VRYCFG CFGOBJ(USERLIN) CFGTYPE(*LIN) STATUS(*OFF)
VRYCFG CFGOBJ(USERDSP) CFGTYPE(*DEV) STATUS(*OFF)
VRYCFG CFGOBJ(USERVCTL) CFGTYPE(*CTL) STATUS(*OFF)
DLYJOB DLY(2)
VRYCFG CFGOBJ(USERLIN) CFGTYPE(*LIN) STATUS(*ON)
VRYCFG CFGOBJ(USERCTL) CFGTYPE(*CTL) STATUS(*ON)
VRYCFG CFGOBJ(USERDEV) CFGTYPE(*DEV) STATUS(*ON)
VRYCFG CFGOBJ(USERVCTL) CFGTYPE(*CTL) STATUS(*ON)
VRYCFG CFGOBJ(USERDSP) CFGTYPE(*DEV) STATUS(*ON)
STRSBS QSNADS

STRSBS QSNADSに意味があるかは…分かりません(^^;;
オブジェクト配布するときにはQSNADSが立ち上がってないとダメという話…?


[CLサンプル:PASSOFF]

MONMSG CPF0000
VRYCFG CFGOBJ(USERDEV) CFGTYPE(*DEV) STATUS(*OFF)
VRYCFG CFGOBJ(USERCTL) CFGTYPE(*CTL) STATUS(*OFF)
VRYCFG CFGOBJ(USERLIN) CFGTYPE(*LIN) STATUS(*OFF)
VRYCFG CFGOBJ(USERDSP) CFGTYPE(*DEV) STATUS(*OFF)
VRYCFG CFGOBJ(USERVCTL) CFGTYPE(*CTL) STATUS(*OFF)
ENDSBS SBS(QSNADS) OPTION(*IMMED)


ENDSBSに意味があるかは…分かりません(^^;;
とりあえずPASSONで始めたので、終了させてます。
(2003/03/16)