2012-01-17 15 views
0

Windowsサーバ2003でCisco ACSを使用するようにCisco音声ゲートウェイを設定しました。一方、MSSQLサーバとのODBC接続を介して外部データベースを設定しました。 TCLIVRのドキュメントで述べたように、私はMirosoft SQLサーバーのCSNTAuthUserPapという名前のストアドプロシージャを使用して、音声ゲートウェイからの認証要求に応答する必要があります。ストアドプロシージャは、以下のフォーマットを有する:RADIUSサーバから返されたパラメータを読み取る方法

PROCEDURE [DBO] [CSNTAuthUserPap]

@UserNameのVARCHAR(64)、@passのVARCHAR

ON(255)

AS SET NOCOUNTを作成します。

IFは

(ユーザ名= @username AND Returnparam = @passユーザーから

SELECTのユーザー名)をEXISTS 0

、0を選択しない '1'、 '1'、 'NOエラー'

ELSE

'ODBC'、 'ODBCのAuthenエラー'

私の質問があり、3,0を選択ACSサーバに返されるパラメータの読み取りについて

  1. 返される結果:0は、認証成功し、1〜4は、認可のために
  2. アカウント情報を認証unsucessfull
  3. グループ番号を意味意味
  4. エラー文字列
番目のレコードは、次の形式を持って戻りました

TCLコードでACSから返されたアカウント情報を読むにはどうすればよいですか?

答えて

0

私はそれを見つけました。 答えはAVPairsにあり、カスタムavpairsを作成しています。半径サーバから返された各グループに対してavpairを指定し、TCLコードで次のように読み取る必要があります。

if { [infotag get aaa_avpair_exists h323-ivr-in] } { 
     set CustomerStatus [infotag get aaa_avpair h323-ivr-in] 
foreach pairs [split $CustomerStatus] { 
          set value_list [split $pairs :] 
          set key [lindex $value_list 0] 
          set value [lindex $value_list 1] 
          if { $key == "contractType" } { 
           set contractType $value 
          } 
        } 
関連する問題