星号Java sip显示对等点
我在Mysql版本5.1.69中使用了星号1.8(OS:CentOS 6.4版,安装在虚拟机Oracle VM Virtual Box中)。从Win 7 32位,我尝试使用以下代码获取有关sip对等方的信息:星号Java sip显示对等点,java,asterisk,Java,Asterisk,我在Mysql版本5.1.69中使用了星号1.8(OS:CentOS 6.4版,安装在虚拟机Oracle VM Virtual Box中)。从Win 7 32位,我尝试使用以下代码获取有关sip对等方的信息: import java.util.ArrayList; import java.util.List; import org.asteriskjava.manager.ManagerConnection; import org.asteriskjava.manager.ManagerCon
import java.util.ArrayList;
import java.util.List;
import org.asteriskjava.manager.ManagerConnection;
import org.asteriskjava.manager.ManagerConnectionFactory;
import org.asteriskjava.manager.action.CommandAction;
import org.asteriskjava.manager.response.CommandResponse;
public class Manager
{
private ManagerConnection c;
public Manager() throws Exception
{
ManagerConnectionFactory factory = new ManagerConnectionFactory(
"172.16.213.91", "asterisk", "asterisk");
c = factory.createManagerConnection();
}
public void run() throws Exception
{
c.login();
CommandAction action;
CommandResponse response;
List<String> list = new ArrayList<String>();
action = new CommandAction();
//action.setCommand("core show help");
action.setCommand(" sip show peers");
response = (CommandResponse) c.sendAction(action);
list = response.getResult();
System.out.println(list.size());
int i = 0;
while ( i <list.size())
{
System.out.println(list.get(i));
i++;
}
c.logoff();
}
public static void main(String[] args) throws Exception
{
new Manager().run();
}
}
甚至,我用sip用户连接到Asterisk。我得到了同样的结果
我的数据库中有5个用户
您能帮我获取有关sip对等点状态的信息吗(连接与否,ip地址…)。我在项目中使用asterisk-java-0.3.jar。您的代码适合我。我使用的是星号1.8证书和0.3 jar
INFO: Determined Asterisk version: Asterisk 1.0
6
Name/username Host Dyn Forcerport ACL Port Status
1000 (Unspecified) D N 0 Unmonitored
1001 (Unspecified) D N 0 Unmonitored
1002 (Unspecified) D N 0 Unmonitored
1003 (Unspecified) D N 0 Unmonitored
我会检查manager.conf,它看起来像:
[manager]
secret=pa55w0rd
permit=0.0.0.0/255.255.255.255
read=all
write=all
要排除Java api,请直接使用telnet连接到。范例
一旦你登录。要发送cli命令,请使用
Action: Command
command: sip show peers
然后按两次介绍。另外,请尝试从安装星号的机器本地连接到AMI
更新
我的经理
[general]
enabled = yes
webenabled = yes
port = 5038
bindaddr = 0.0.0.0
[asterisk]
secret = asterisk
permit = 0.0.0.0/0.0.0.0
read=all
write=all
祝你好运 我用telnet尝试了这个命令
action: sippeers
actionid: 4
我得到的回答是:
Response: Success
ActionID: 4
EventList: start
Message: Peer status list will follow
Event: PeerlistComplete
EventList: Complete
ListItems: 0
ActionID: 4
正如你所看到的,我什么都没有。你好,谢谢你的回复。但对我来说仍然不起作用。my manager.conf如下所示:[general]enabled=yes webenabled=yes port=5038 bindaddr=0.0.0.0[asterisk]secret=asterisk permit=0.0.0/0.0.0.0 read=all,system,call,log,verbose,command,agent,user,origine write=all,system,call,log,verbose,command,agent,user,我将在JavaSwing程序中使用这个类,所以我需要它。如果您愿意帮助我使用asterisk,我可以上传我的虚拟机并提供链接。请尝试使用telnet连接到ami,如上所示。您的manager.conf确实适用于我。我从java程序中执行了此命令操作“database show”,我收到了以下消息:database unavailable,但从CLI中,我从数据库中获得了一些信息。这不是一个与java相关的问题,而是一个数据库配置问题。看看这个。祝你好运
Response: Success
ActionID: 4
EventList: start
Message: Peer status list will follow
Event: PeerlistComplete
EventList: Complete
ListItems: 0
ActionID: 4