Java 使用星号服务器注册

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

我是网络语音的新手。我正在寻找如何使用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.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