Adhearsion中的变量

0 asterisk

如何将变量传递给dailplan.rb文件.

拨'SIP/976',:for => 15.seconds

我怎样才能这样做,以便我可以从文件外部指定扩展名.

小智 5

我想你只是在谈论Ruby字符串插值.制作拨号扩展变量的最简单方法是使用Ruby:

myexten = '976'
dial "SIP/#{myexten}", :for => 15.seconds
Run Code Online (Sandbox Code Playgroud)

如果要使用#{}将变量插入字符串,请记住使用双引号.

您可能也指Asterisk通道变量.假设我们正在谈论Adhearsion 1.x,如果要在拨号之前设置变量,请使用#set_variable语法:

set_variable 'MYVAR', "this is the value of the MYVAR channel variable"
set_variable 'OUTBOUND_GROUP', 'group1'
dial 'SIP/976', :for => 15.seconds
Run Code Online (Sandbox Code Playgroud)

如果要检索通道变量的值(例如由#dial设置的那些),可以使用get_variable:

dial 'SIP/976', :for => 15.seconds
ahn_log.info "Call completed with status #{get_variable 'DIALSTATUS'}"
Run Code Online (Sandbox Code Playgroud)