Java 使用星号服务器注册
我是网络语音的新手。我正在寻找如何使用asterisk java API注册一个数字,该API用于哪个API,它是如何工作的,在哪里注册的。请引导我提前感谢这是添加SIP用户的示例Java 使用星号服务器注册,java,asterisk,Java,Asterisk,我是网络语音的新手。我正在寻找如何使用asterisk java API注册一个数字,该API用于哪个API,它是如何工作的,在哪里注册的。请引导我提前感谢这是添加SIP用户的示例 import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; import org.asteriskjava.manager.ManagerConnection; import org.asteriskjava.m
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
import org.asteriskjava.manager.ManagerConnection;
import org.asteriskjava.manager.ManagerConnectionFactory;
import org.asteriskjava.manager.action.GetConfigAction;
import org.asteriskjava.manager.action.UpdateConfigAction;
import org.asteriskjava.manager.response.ManagerResponse;
public class Sip {
private ManagerConnection managerConnection;
public Sip(ManagerConnection managerConnection2)
{
managerConnection=managerConnection2;
/* ManagerConnectionFactory factory = new ManagerConnectionFactory(
"127.0.0.1", "manager", "pa55w0rd");
this.managerConnection = factory.createManagerConnection();*/
}
public String Add( String ext,String type,String username, String secret,String host,String context ) {
UpdateConfigAction updateConfigAction;
ManagerResponse updateConfigResponse;
updateConfigAction = new UpdateConfigAction();
updateConfigAction.addCommand(UpdateConfigAction.ACTION_NEWCAT, ext, null, null, null);
updateConfigAction.addCommand(UpdateConfigAction.ACTION_APPEND, ext, "context", context, null);
updateConfigAction.addCommand(UpdateConfigAction.ACTION_APPEND, ext, "host", host, null);
updateConfigAction.addCommand(UpdateConfigAction.ACTION_APPEND, ext, "type", type, null);
updateConfigAction.addCommand(UpdateConfigAction.ACTION_APPEND, ext, "username", username, null);
updateConfigAction.addCommand(UpdateConfigAction.ACTION_APPEND, ext, "secret", secret, null);
updateConfigAction.addCommand(UpdateConfigAction.ACTION_APPEND, ext, "nat", "yes", null);
updateConfigAction.addCommand(UpdateConfigAction.ACTION_APPEND, ext, "quality", "yes", null);
updateConfigAction.setSrcFilename("sip.conf");
updateConfigAction.setDstFilename("sip.conf");
updateConfigAction.setReload(true);
try {
//managerConnection.login();
updateConfigResponse = managerConnection.sendAction(updateConfigAction, 10000);
System.out.println(updateConfigResponse.getResponse());
//managerConnection.logoff();
return updateConfigResponse.getResponse();
} catch( Exception e ) {
System.out.println("AddExtension - IOException - " + e.toString());
}
return "Error";
}
public String show_users(){
try {
GetConfigAction getc;
ManagerResponse getr;
Map<String,Object> map;
String res="";
getc=new GetConfigAction();
getc.setFilename("sip.conf");
//managerConnection.login();
getr=managerConnection.sendAction(getc,30000);
map=getr.getAttributes();
for (Map.Entry<String, Object> entry : map.entrySet()) {
Object o = entry.getValue();
String k = entry.getKey();
if(k.substring(0, 8).equals("category")){
res+=o+" "+k.substring(9, 15)+"\n";
}
}
// managerConnection.logoff();
return res;
} catch( Exception e ) {
System.out.println("Show users - IOException - " + e.toString());
}
return "Erreur";
}
public String Del_user(String user){
UpdateConfigAction updateConfigAction;
ManagerResponse updateConfigResponse;
updateConfigAction = new UpdateConfigAction();
updateConfigAction.addCommand(UpdateConfigAction.ACTION_DELCAT, user, null, null, null);
updateConfigAction.setSrcFilename("sip.conf");
updateConfigAction.setDstFilename("sip.conf");
updateConfigAction.setReload(true);
try {
//managerConnection.login();
updateConfigResponse = managerConnection.sendAction(updateConfigAction, 10000);
System.out.println(updateConfigResponse.getResponse());
//managerConnection.logoff();
return updateConfigResponse.getResponse();
} catch( Exception e ) {
System.out.println("Del user - IOException - " + e.toString());
}
return "Error";
}
public Map<String, String> show_user(String user){
try {
GetConfigAction getc;
ManagerResponse getr;
Map<String,Object> map;
Map<String, String> m=new HashMap<String, String>();
getc=new GetConfigAction();
getc.setFilename("sip.conf");
//managerConnection.login();
getr=managerConnection.sendAction(getc,30000);
map=getr.getAttributes();
for (Map.Entry<String, Object> entry : map.entrySet()) {
Object o = entry.getValue();
String k = entry.getKey();
if(k.substring(0, 4).equals("line")&&(k.substring(5, 11).equals(user))){
StringTokenizer st=new StringTokenizer((String)o,"=");
String n=st.nextToken();
String v=st.nextToken();
m.put(n,v);
}
}
// managerConnection.logoff();
return m;
} catch( Exception e ) {
System.out.println("Showuser - IOException - " + e.toString());
}
return null;
}
public static void main(String arg[]){
Map<String, Object> m;
ManagerConnectionFactory factory = new ManagerConnectionFactory(
"127.0.0.1", "manager", "pa55w0rd");
ManagerConnection managerConnection = factory.createManagerConnection();
Sip a=new Sip(managerConnection );
System.out.print(a.show_user("000003"));
}
}
import java.util.HashMap;
导入java.util.Map;
导入java.util.StringTokenizer;
导入org.asteriskjava.manager.manager连接;
导入org.asteriskjava.manager.ManagerConnectionFactory;
导入org.asteriskjava.manager.action.GetConfigAction;
导入org.asteriskjava.manager.action.UpdateConfigAction;
导入org.asteriskjava.manager.response.manager响应;
公共级Sip{
私有管理器连接管理器连接;
公共Sip(管理连接管理连接2)
{
managerConnection=managerConnection2;
/*ManagerConnectionFactory=新的ManagerConnectionFactory(
“127.0.0.1”、“经理”、“pa55w0rd”);
this.managerConnection=factory.createManagerConnection()*/
}
公共字符串添加(字符串外部、字符串类型、字符串用户名、字符串机密、字符串主机、字符串上下文){
UpdateConfigAction UpdateConfigAction;
管理者响应更新响应;
updateConfigAction=新的updateConfigAction();
updateConfigAction.addCommand(updateConfigAction.ACTION_NEWCAT,ext,null,null,null);
updateConfigAction.addCommand(updateConfigAction.ACTION_APPEND,ext,“context”,context,null);
updateConfigAction.addCommand(updateConfigAction.ACTION\u APPEND,ext,“host”,host,null);
updateConfigAction.addCommand(updateConfigAction.ACTION\u APPEND,ext,“type”,type,null);
updateConfigAction.addCommand(updateConfigAction.ACTION\u APPEND,ext,“username”,username,null);
updateConfigAction.addCommand(updateConfigAction.ACTION_APPEND,ext,“secret”,secret,null);
updateConfigAction.addCommand(updateConfigAction.ACTION_APPEND,ext,“nat”,“yes”,null);
updateConfigAction.addCommand(updateConfigAction.ACTION_APPEND,ext,“quality”,“yes”,null);
updateConfigAction.setSrcFilename(“sip.conf”);
updateConfigAction.setDstFilename(“sip.conf”);
updateConfigAction.setReload(true);
试一试{
//managerConnection.login();
updateConfigResponse=managerConnection.sendAction(updateConfigAction,10000);
System.out.println(updateConfigResponse.getResponse());
//managerConnection.logoff();
返回updateConfigResponse.getResponse();
}捕获(例外e){
System.out.println(“AddExtension-IOException-”+e.toString());
}
返回“错误”;
}
公共字符串show_users(){
试一试{
GetConfigAction-getc;
管理者响应getr;
地图;
字符串res=“”;
getc=新的GetConfigAction();
getc.setFilename(“sip.conf”);
//managerConnection.login();
getr=managerConnection.sendAction(getc,30000);
map=getr.getAttributes();
对于(Map.Entry:Map.entrySet()){
对象o=entry.getValue();
字符串k=entry.getKey();
if(k.子串(0,8).等于(“类别”)){
res+=o+“”+k.子串(9,15)+“\n”;
}
}
//managerConnection.logoff();
返回res;
}捕获(例外e){
System.out.println(“Show users-IOException-”+e.toString());
}
返回“Erreur”;
}
公共字符串删除用户(字符串用户){
UpdateConfigAction UpdateConfigAction;
管理者响应更新响应;
updateConfigAction=新的updateConfigAction();
updateConfigAction.addCommand(updateConfigAction.ACTION_DELCAT,user,null,null,null);
updateConfigAction.setSrcFilename(“sip.conf”);
updateConfigAction.setDstFilename(“sip.conf”);
updateConfigAction.setReload(true);
试一试{
//managerConnection.login();
updateConfigResponse=managerConnection.sendAction(updateConfigAction,10000);
System.out.println(updateConfigResponse.getResponse());
//managerConnection.logoff();
返回updateConfigResponse.getResponse();
}捕获(例外e){
System.out.println(“deluser-IOException-”+e.toString());
}
返回“错误”;
}
公共地图显示用户(字符串用户){
试一试{
GetConfigAction-getc;
管理者响应getr;
地图;
Map m=新的HashMap();
getc=新的GetConfigAction();
getc.setFilename(“sip.conf”);
//managerConnection.login();
getr=managerConnection.sendAction(getc,30000);
map=getr.getAttributes();
对于(Map.Entry:Map.entrySet()){
对象o=entry.getValue();
字符串k=entry.getKey();
if(k子串(0,4).equals(“行”)和&(k子串(5,11).equals(用户))){
StringTokenizer st=新的StringTokenizer((字符串)o,“=”);
字符串n=st.nextToken();
字符串v=st.nextToken();
m、 put(n,v);
}
}
//managerConnection.logoff();
返回m;
}捕获(例外e){
System.out.println(“Showuser-IOException-”+e.toString());
}
返回null;
}
公共静态void main(字符串arg[]){
地图m;
ManagerConnectionFactory=新的ManagerConnectionFactory(
“127.0.0.1”、“经理”、“pa55w0rd”);
管理连接ma