Asterisk AMI接口ExtensionStateAction 获取座机状态

来源:互联网 发布:大数据价值 编辑:程序博客网 时间:2024/06/09 23:29

    Asterisk AMI接口ExtensionStateAction 获取座机状态


问题:使用AMI接口ExtensionStateAction获取座机状态为-1

        相信有很多初学Asterisk网友都遇到了ExtensionStateAction获取座机状态为-1(找不到该座机)的情况,上网查,结果发现没有任何资料说明为什么?非常郁闷,我也同样如此。如图所示:

    这是为什么??是自己命令发错了,进过仔细检查,命令完全正确。

     参考网站1:http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/DeviceStates_id265377.html     查考网站2:https://wiki.asterisk.org/wiki/display/AST/Extension+State+and+Hints
     原来,AMI接口想通过ExtensionState获取座机状态,需要将座机的状态进行映射到hint。

    很遗憾,两篇全是英文介绍。将解决问题整理如下:

1、通过hint进行座机状态映射,配置extensions.conf文件内容如下
    [internal]
     exten =>2001,hint,SIP/2001
     exten =>2002,hint,SIP/2002
    说明,上下文internal对应sip.conf中座机的context值,2001和2002为座机号。
2、重启Asteirsk服务。
     systemctl stop asterisk.service
     systemctl start asterisk.service
     个人习惯问题,习惯使用启动服务来加载配置文件
3、进入CLI界面  asterisk -r
     输入命令:core show hints
     查看映射情况,如图所示:

 

    如此,映射完毕。
4、在使用AMI接口命令获取座机状态

  

   ok,座机状态获取成功。

        
0 0