Инструменты пользователя

Инструменты сайта


программирование_диалогов_expect

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
программирование_диалогов_expect [2019/08/15 09:29]
val [Вариант использования с элементами конфигурации в коде скрипта]
программирование_диалогов_expect [2020/04/22 10:26] (текущий)
val
Строка 6: Строка 6:
 </​code>​ </​code>​
  
-===== Вариант использования с элементами конфигурации в коде скрипта =====+===== Cisco CLI ===== 
 + 
 +==== Вариант использования с элементами конфигурации в коде скрипта ==== 
 + 
 +!!! Не обрабатывается ситуация первого подключения (подтверждения ключа) 
 <​code>​ <​code>​
 +server# ssh switchN
 +
 server# cat cisco_change_conf.exp server# cat cisco_change_conf.exp
 </​code><​code>​ </​code><​code>​
Строка 32: Строка 39:
 </​code>​ </​code>​
  
-===== Вариант использования с элементами конфигурации в файле на tftp сервере ​=====+==== Вариант использования с элементами конфигурации в файле на tftp сервере ====
 <​code>​ <​code>​
 server# cat /​srv/​tftp/​cisco_change_conf.txt server# cat /​srv/​tftp/​cisco_change_conf.txt
Строка 46: Строка 53:
 send "​\n"​ send "​\n"​
 ... ...
 +</​code>​
 +
 +===== Asterisk AMI =====
 +
 +  * [[http://​the-asterisk-book.com/​1.6/​asterisk-manager-api.html#​manager-interface-beispiel-expect|Example:​ Getting the number of voicemail messages with expect]]
 +<​code>​
 +# cat /​usr/​share/​originate_ami.exp
 +</​code><​code>​
 +#​!/​usr/​bin/​expect
 +
 +set username "​admin"​
 +set secret "​admin"​
 +set host "​127.0.0.1"​
 +set port "​5038"​
 +
 +set channel [lindex $argv 0];
 +set num [lindex $argv 1];
 +set name [lindex $argv 2];
 +
 +send_user "Args: $channel $num $name\n"​
 +
 +spawn telnet $host $port
 +
 +expect "​Manager"​ {
 +        send "​Action:​ Login\n"​
 +        send "​Username:​ $username\n"​
 +        send "​Secret:​ $secret\n\n"​
 +}
 +
 +expect "​Response:​ Success"​ {
 +        send "​Action:​ Originate\n"​
 +        send "​Channel:​ SIP/​$channel\n"​
 +        send "​Context:​ default\n"​
 +        send "​Exten:​ $num\n"​
 +        send "​Callerid:​ $name<​$num>​\n"​
 +        send "​Priority:​ 1\n\n"
 +}
 +
 +sleep 1
 +
 +send "​Action:​ Logoff\n\n"​
 +
 +exit 0
 +</​code><​code>​
 +# /​usr/​share/​originate_ami.exp 403 301 "Hello World"
 </​code>​ </​code>​
программирование_диалогов_expect.1565850581.txt.gz · Последние изменения: 2019/08/15 09:29 — val