【问题标题】:How to read returned parameter from RADIUS server如何从 RADIUS 服务器读取返回的参数
【发布时间】:2012-01-17 13:11:00
【问题描述】:

我已经在 windows server 2003 上配置了 Cisco 语音网关以使用 Cisco ACS。同时,我通过 ODBC 连接配置了外部数据库与 MSSQL 服务器。如 TCLIVR 文档中所述,我必须在 Mirosoft SQL 服务器上使用名为 CSNTAuthUserPap 的存储过程来响应来自语音网关的授权请求。存储过程的格式如下:

创建过程 [dbo].[CSNTAuthUserPap]

@username varchar(64), @pass varchar(255)

AS SET NOCOUNT ON

如果存在(

从用户中选择用户名 WHERE username = @username AND 返回参数 = @pass )

SELECT 0,'1','1','无错误'

否则

SELECT 3,0,'odbc','ODBC 验证错误'

我的问题是关于读取返回到 ACS 服务器的参数。返回的记录格式如下:

  1. 返回结果:0表示认证成功,1到4表示认证不成功
  2. 授权组号
  3. 账户信息
  4. 错误字符串

如何阅读 ACS 在我的 TCL 代码中返回的帐户信息?

【问题讨论】:

    标签: scripting tcl cisco ivr cisco-ios


    【解决方案1】:

    我找到了。 答案在于 AVPairs 和创建自定义 avpairs。我必须为从 radius 服务器返回的每个组指定 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
                               } 
                       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 2013-01-16
      • 1970-01-01
      相关资源
      最近更新 更多