SipFactory sipFactory = SipFactory.getInstance(); Properties properties = new Properties(); properties.setProperty("javax.sip.STACK_NAME", "mySipStack"); properties.setProperty("javax.sip.IP_ADDRESS", "127.0.0.1"); properties.setProperty("javax.sip.OUTBOUND_PROXY", "127.0.0.1:5060/udp"); properties.setProperty("javax.sip.RETRANSMISSION_FILTER", "on"); properties.setProperty("gov.nist.javax.sip.DEBUG_LOG", "siplog.txt"); properties.setProperty("gov.nist.javax.sip.SERVER_LOG", "serverlog.txt"); sipFactory.setPathName("gov.nist"); SipStack sipStack = sipFactory.createSipStack(properties); ListeningPoint listeningPoint = sipStack.createListeningPoint("127.0.0.1", 5555, "udp"); SipProvider sipProvider = sipStack.createSipProvider(listeningPoint); SipListenerImpl sipListener = new SipListenerImpl(); sipProvider.addSipListener(sipListener); MessageFactory messageFactory = sipFactory.createMessageFactory(); AddressFactory addressFactory = sipFactory.createAddressFactory(); SipURI requestUri = addressFactory.createSipURI("alice", "example.com"); SipURI fromUri = addressFactory.createSipURI("bob", "example.com"); SipURI toUri = addressFactory.createSipURI("alice", "example.com"); FromHeader fromHeader = headerFactory.createFromHeader(addressFactory.createAddress(fromUri), "12345"); ToHeader toHeader = headerFactory.createToHeader(addressFactory.createAddress(toUri), null); CallIdHeader callIdHeader = sipProvider.getNewCallId(); CSeqHeader cSeqHeader = headerFactory.createCSeqHeader(1L, Request.INVITE); MaxForwardsHeader maxForwardsHeader = headerFactory.createMaxForwardsHeader(70); Request request = messageFactory.createRequest(requestUri, Request.INVITE, callIdHeader, cSeqHeader, fromHeader, toHeader, Collections.emptyList(), maxForwardsHeader); ClientTransaction transaction = sipProvider.getNewClientTransaction(request); transaction.sendRequest(); public class SipListenerImpl implements SipListener { @Override public void processRequest(RequestEvent requestEvent) { } @Override public void processResponse(ResponseEvent responseEvent) { } @Override public void processTimeout(TimeoutEvent timeoutEvent) { } }


上一篇:
下一篇:
切换中文