java实现SIP一个例子

2019-01-05 10:50

java实现SIP一个例子

(如果你贴子有附件,请一定按照下面模板发贴,否则贴子会被立刻删除,谢谢合作!)

【资料名称】: 【作者】: 【语言】: 【页数】: 【格式】: 【发表时间】: 【摘要或目录】:

(请根据需要,保留上面的相应选项)

package com.voip.sipphone;

import gov.nist.javax.sip.address.SipUri; import gov.nist.javax.sip.header.CSeq; import gov.nist.javax.sip.header.Contact; import gov.nist.javax.sip.header.ContentLength; import gov.nist.javax.sip.header.ContentType;

import gov.nist.javax.sip.header.From; import gov.nist.javax.sip.header.Via; import java.text.ParseException; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; import java.util.Properties; import java.util.Timer; import javax.sip.*;

import javax.sip.address.Address; import javax.sip.address.AddressFactory;

import javax.sip.address.URI; import javax.sip.header.CallIdHeader; import javax.sip.header.ContactHeader; import javax.sip.header.ExpiresHeader; import javax.sip.header.FromHeader; import javax.sip.header.Header; import javax.sip.header.HeaderFactory; import javax.sip.header.MaxForwardsHeader;

import javax.sip.header.RecordRouteHeader;

import javax.sip.header.ToHeader; import javax.sip.header.ViaHeader; import javax.sip.message.MessageFactory;

import javax.sip.message.Request; import javax.sip.message.Response; public class SipPhone implements SipListener

{

public void processDialogTerminated(DialogTerminatedEvent arg0) {

// TODO Auto-generated method stub

System.out.println(\

}

public void processIOException(IOExceptionEvent arg0) {

// TODO Auto-generated method stub

System.out.println(\

} /**

* 保存当前注册的用户

*/

private static Hashtable currUser = new Hashtable();

/**

* @author software

* 注册定时器

*/

class TimerTask extends Timer

{ /**

* default constructor

*/

public TimerTask()

{

} /**

* 如果定时任务到,则删除该用户的注册信息

*/

public void run()

{ } } /**

* 服务器侦听IP地址

*/

private String ipAddr = \

/**

* 服务器侦听端口

*/

private int port = 5060;

/**

* 处理register请求 * @param request 请求消息

*/

private void processRegister(Request request, RequestEvent requestEvent)

{

if (null == request)

{

System.out.println(\

return;

}

//System.out.println(\

ServerTransaction serverTransactionId = requestEvent.getServerTransaction();

try {

Response response = null;

ToHeader head = (ToHeader)request.getHeader(ToHeader.NAME);

Address toAddress = head.getAddress();

URI toURI = toAddress.getURI();

ContactHeader contactHeader = (ContactHeader) request.getHeader(\

Address contactAddr = contactHeader.getAddress();

URI contactURI = contactAddr.getURI();

System.out.println(\

contactURI);

int expires = request.getExpires().getExpires(); // 如果expires不等于0,则为注册,否则为注销。 if (expires != 0 || contactHeader.getExpires() != 0)

{

currUser.put(toURI, contactURI);

System.out.println(\

} else {

currUser.remove(toURI);

System.out.println(\

}

response = msgFactory.createResponse(200, request);

System.out.println(\

if(serverTransactionId == null)

{

serverTransactionId = sipProvider.getNewServerTransaction(request);

serverTransactionId.sendResponse(response);

//serverTransactionId.terminate();

System.out.println(\

} else {

System.out.println(\

} }

catch (ParseException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

catch (SipException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

catch (InvalidArgumentException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

} } /**

* 处理invite请求 * @param request 请求消息

*/

private void processInvite(Request request, RequestEvent requestEvent)

{

if (null == request)

{

System.out.println(\

return;

}


java实现SIP一个例子.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016杭电《实时三维图形绘制》OpenGL课复习提纲、试题展示及参考

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: