asterisk-java ami Unsupported protocol version 'Asterisk Call Manager/3.1.0'.
时间: 2016-12-10来源:开源中国
前景提要
HDC调试需求开发(15万预算),能者速来!>>>
各位网友大家好,我在运行asterisk-java官网例子时出现错误。
asterisk服务器ip地址:192.168.1.171
manager.conf文件配合为:
-----------------------------------
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0

[manager]
secret=password
permit=0.0.0.0/0.0.0.0
read=system,call,log,verbose,agent,command,user
write=system,call,log,verbose,agent,command,user
-----------------------------------
使用telnet命令访问没有问题。
在另一个windows电脑上使用Eclipse创建工程,导入包:asterisk-java-1.0.0-m1.jar
拷贝asterisk-java官网例子,HelloManager.java,并修改访问ip和用户密码,代码如下:
------------------------------------------------------
import java.io.IOException;

import org.asteriskjava.manager.AuthenticationFailedException;
import org.asteriskjava.manager.ManagerConnection;
import org.asteriskjava.manager.ManagerConnectionFactory;
import org.asteriskjava.manager.TimeoutException;
import org.asteriskjava.manager.action.OriginateAction;
import org.asteriskjava.manager.response.ManagerResponse;

public class HelloManager
{
private ManagerConnection managerConnection;

public HelloManager() throws IOException
{
ManagerConnectionFactory factory = new ManagerConnectionFactory(
"192.168.1.171", "manager", "password");
this.managerConnection = factory.createManagerConnection();
}

public void run() throws IOException, AuthenticationFailedException,
TimeoutException
{
OriginateAction originateAction;
ManagerResponse originateResponse;
// connect to Asterisk and log in

originateAction = new OriginateAction();
originateAction.setChannel("SIP/1001");
originateAction.setContext("default");
originateAction.setExten("1300");
originateAction.setPriority(new Integer(1));
originateAction.setTimeout(new Long(30000));

managerConnection.login();
// send the originate action and wait for a maximum of 30 seconds for Asterisk
// to send a reply
originateResponse = managerConnection.sendAction(originateAction, 30000);

// print out whether the originate succeeded or not
System.out.println(originateResponse.getResponse());

// and finally log off and disconnect
managerConnection.logoff();
}

public static void main(String[] args) throws Exception
{
HelloManager helloManager;

helloManager = new HelloManager();
helloManager.run();
}
}
----------------------------------------------------
Eclipse编译运行:出现如下错误:
十二月 10, 2016 1:41:12 下午 org.asteriskjava.manager.internal.ManagerConnectionImpl connect
信息: Connecting to 192.168.1.171:5038
十二月 10, 2016 1:41:12 下午 org.asteriskjava.manager.internal.ManagerConnectionImpl setProtocolIdentifier
信息: Connected via Asterisk Call Manager/3.1.0
十二月 10, 2016 1:41:12 下午 org.asteriskjava.manager.internal.ManagerConnectionImpl setProtocolIdentifier
警告: Unsupported protocol version 'Asterisk Call Manager/3.1.0'. Use at your own risk.
十二月 10, 2016 1:41:13 下午 org.asteriskjava.manager.internal.ManagerConnectionImpl doLogin
信息: Successfully logged in
十二月 10, 2016 1:41:13 下午 org.asteriskjava.manager.internal.EventBuilderImpl buildEvent
信息: No event class registered for event type 'fullybooted', attributes: {lastreload=4340, privilege=system,all, event=FullyBooted, uptime=4340, status=Fully Booted}
十二月 10, 2016 1:41:13 下午 org.asteriskjava.manager.internal.ManagerConnectionImpl doLogin
信息: Determined Asterisk version: Asterisk 1.0
Error
十二月 10, 2016 1:41:13 下午 org.asteriskjava.manager.internal.ManagerConnectionImpl disconnect
信息: Closing socket.
十二月 10, 2016 1:41:13 下午 org.asteriskjava.manager.internal.ManagerReaderImpl run
信息: Terminating reader thread: No more lines available: null
请各位朋友帮帮忙,感激不尽。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行