Domanda

Ho configurato un gateway vocale Cisco per utilizzare un Cisco ACS su un Windows Server 2003. Nel frattempo, ho configurato un database esterno tramite una connessione ODBC con un server MSSQL. Come menzionato nel documento TCLIVR, devo utilizzare una procedura memorizzata su Mirosoft SQL Server denominato CSNTAUTHUSERPAP per rispondere alla richiesta di autorizzazione da Voice Gateway. La procedura memorizzata ha il seguente formato:

Crea procedura [DBO]. [CSNTAUTHUSERPAP

@UserName Varchar (64), @pass varchar (255)

Come impostato nocount su

Se esiste (

Seleziona nome utente dagli utenti in cui nome utente = @username e returnparam = @pass)

Seleziona 0, "1", "1", "nessun errore"

ALTRO

Seleziona 3,0, "ODBC", "Errore ODBC AUTEN"

La mia domanda riguarda i parametri di lettura restituiti al server ACS. Il record restituito ha il seguente formato:

  1. Risultato restituito: 0 indica l'autenticazione, da 1 a 4 significa autentica
  2. Numero di gruppo per l'autorizzazione
  3. Informazioni account
  4. Stringa di errore

Come posso leggere le informazioni sull'account restituite da ACS nel mio codice TCL?

È stato utile?

Soluzione

L'ho trovato. La risposta sta nelle Avpairs e creando Avpairs personalizzate. Devo specificare AvPair per ciascun gruppo restituito dal server RADIUS e leggerli nel codice TCL in questo modo:

    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
                           } 
                   }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top