SSY基础教程【转】

2012年4月23日 | 标签:

一 sys.Dial()
(1) sys.Dial(“提供商”) 这个大家最常见
用法举例1:在前台添加一个voip账号后,如果取名为account1,往外拨打电话就可以写成:sys.Dial(“account1”), 这种方式拨打电 话其实是简写,写完整就是sys.Dial(“${dst}@account1]${dst}@account1”)
用法举例2:如果连续写上代码
sys.Dial(“account1”)
sys.Dial(“account2”)
sys.Dial(“account3”)
. . .
sys.Dial(“account10000000000”)
意思就是如果用account1账号没打通就用account2账号打,再没打通接着用account3账号打……如果还没打通就再接着用account10000000000打
(2) sys.Dial(“account1”,time) time:就是超时时间,也就是拨打号码几秒钟……
用法举例:sys.Dial(“account1”,10) 意思就是用account1拨打号码10秒钟……10秒钟后没人接就断开……time设置不要小于5,否则还没开始打出去就已经断开了
(3) sys.Dial(“account1|account2|account3|”) 说明:用account1拨打用户输入的号码,如果出了意外比如账号没话费等等情况,接着用account2拨打……一直到能打通为止…… 用(1)和(3),加上一个死循环可以做一个“呼死你”系统……不管对方接还是没接,继续呼叫…… 经过我的测试,脚本加载时间最长10秒,也就是拨号计划10秒钟还没加载完后就暂停……
(4) sys.Dial(“电话号码[email protected]&电话号码[email protected]”) 用法:后面可以接N个,中间用&隔开~~意思是同时拨打N个号码,N个号码同时响,直到有一个号码接通,接通的可以通话,其他的自动断掉……
(5) SSY的新增功能:
dt:延迟拨打时间
cd: 设置拨打时间比如 延迟20秒拨打电话,通话时间100秒,语句就可写成:
sys.Dial(“[[email protected][dt=20,cd=100]][email protected][dt=20,cd=100][/email]”) 20后拨打电话,通话100秒自动断开
二 sys.In和sys.Out 这个很简单,
sys.In电话打进SSY,sys.Out电话打出MSS
判断用户有无登陆ss,
如果用户用eyebeam等软件登陆了就会执行。
比如if sys.IsAvailable(“这里填SSY的用户名”,”sipsorcery.com”)
sys.Log(“已经登录”)
end
在后台会打印出 已经登录
用法举例:如果只用到打出电话就写
if sys.Out
自己的代码
end
我看到大家都这样用:
if sys.In
#打进规则
else
#打出规则
end
如果用不上In的话直接用
if sys.Out
#打出规则
end
三 sys.Log() 这个命令是用来往后台监控写出信息的,作用就是用来调试的…… 用法:sys.Log(“往监控后台打印信息”) 当然其中还可以用到变量,比如要往后台打印我在eyebeam输入的号码就可以写成:sys.Log(“我输入的号码:#{req.URI.User}”),记住一点在写拨号计划的时候不能用中文,只能用到字母和数字~~为了大家理解方便我写了中文
四 sys.Respond()
这个命令作用是往拨号着的客户端返回信息 用法:sys.Respond(错误代码,”错误信息”) 举例:我要往客户端发送600错误代码,并且显示错误信息:error 这个是自己随便定义的,sys.Respond(600,”error”)
五 sys.GTalk()
用来给gtalk用户发送信息的, 用法:sys.GTalk(gtalk用户名, gtalk密码, 发送到gtalk用户名, 药发送的信息) 举例:用gtalk用户(加入账号为 gtalkaccount1,密码为gtalkpassword) 发送到另一个gtalk用户gtalkaccount2信息,信息内容为:你好 代码:sys.GTalk(“gtalkaccount1″,”gtalkpassword”,”gtalkaccount2″,”你好”) 这个我还没发现有什么实际作用,大家知道吗?
六 sys.Callback()
用法:sys.Callback(“号码[email protected]″,”号码[email protected]”)
account1、account2是上面所说的我为nonoh账号取的名字 用法举例:为了测试方法我我固定了2个电话号码,一个是我的电信虚拟号867916447066,一个是我的手机号8613647******* sys.Callback(“[email protected]″,”[email=8613647*******@account2][color=#000000]8613647*******@account2[/color][/email]”)
以下ssy的新增功能
七 sys.DBWrite()
用法: sys.DBWrite(变量名称,值)
比如:把100存到x中,这个是保存到ss的服务器上,保存后数据不会丢失,可以覆盖,覆盖后就成覆盖后的值了
sys.DBWrite(‘x’,’100’)
如果要存入变量
bianliang=1000
sys.DBWrite(‘x’,”#{bianliang}”)
八 sys.DBRead() 读取上面存入的数据
用法,把上面的x值取出来赋给y
表达式是:y=sys.DBRead(‘x’)
九 webcallback功能
把ssy的默认的拨号计划名字default改成webcallback,只有这个拨号计划名字才能用网页触发,
修改后打开网页:
http://www.sipsorcery.com/callmanager.svc/webcallback?user=这里改成你的用户名&number=这里改成你要传进ssy的电话号码
大家可以利用这个做成通用平台,填入用户名和拨打的号码提交,然后会触发SSY中的Out计划,在把传入的number后面的东西分割~~可以随便传入东西,可以传入号码,sip账号,密码,sip地址用*号隔开,或者不隔开直接传入所有要传入的东西,最后到SSY中进行处理,分割成自己想要的字符串……
本文转载之狐狸电话论坛:http://bbs.foxphone.org/archiver/tid-239.html

目前还没有任何评论.