您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于SIP的代理服务器的设计实现
第4卷第4期2005年8月江南大学学报(自然科学版)JournalofSouthernYangtzeUniversity(NaturalScienceEdition)Vol.4No.4Aug.2005:1671-7147(2005)04-0402-05:2004-09-20;:2004-11-01.:(1974-),,,.*:(1966-),,,,..Email:wdzhao@zju.edu.cn.基于SIP的代理服务器的设计实现祝正运,赵问道*,陈惠芳(浙江大学信息科学与工程学院,浙江杭州310027):为实现一种基于IP服务的会话初始协议(SIP)的代理服务器,在分析SIP协议的基础上,提出了一种设计方案并成功实现.此方案采用多线程处理各种发送处理接收以及记录等,对SIP系统的研发有一定的参考借鉴意义.:会话初始协议;代理服务器;重定向服务器:TN915:AADesignandImplementationofSIPProxyServerZHUZhengyun,ZHAOWendao*,CHENHuifang(CollegeofInformationScienceandEngineering,ZhejiangUniversity,Hangzhou,310027)Abstract:InordertoachieveadesignandimplementationofSIPProxyServer,oneoftheimportantcomponentsoftheSIPsystem,basedonthoroughanalysisofSIPprotocolandprofoundcomprehensionofoperationalmechanismoftotalSIPsystem,adesignofSIPproxyserverhastobeimplementedsuccessfully.Inthescheme,Multythreadisintroducedtodealwithdifferenttypeofmessages,suchassending,translating,receiving,recordingmessagesandsoon.TheseishelpandguidelineforstudyinganddevelopingSIPprotocol.Keywords:SIP(SessionInitiationProtocol);proxyserver;redirectserver,IP(SessionInitiationProtocol,SIP).SIP,(InternetEngineeringTaskForce,IETF).20026,ITEFSIPRFC3261[1],19993RFC2543[2].SIP,.SIP5:[3].SIP.IPSIP,.,SIPSIP.SIP,[4].SIP,SIP,.,,.1SIP系统SIPSIP,(SessionDescriptionProtocol,SDP)[5]SIP.,SDP.1.1SIPSIP,SIP.SIP4.,.,.IETFACK,BYE,CANCEL,INFO,INVITE,REGISTER,OPTIONS,NOTIFY,PRACK,SUBSCRIBE,UPDATE,MESSAGE,REFER,6:1)INVITE:,.2)ACK:INVITE,INVITE.3)BYE:.4)CANCEL:,.5)OPTIONS:.6)REGISTER:SIPTo.IETF6,1xx(100~199),5.:1xx:,,.2xx:,.3xx:,.4xx:,,.5xx:,.6xx:.SIP.(,).SDP.1.2SIPSIP,,.,,,.SIP4,1.,SIP(),(),,.1SIPFig.1IPsystemarchitecture1.2.1用户代理(UserAgent,UA)SIP,UA,.,UASIP(UserAgentClient,UAC)(UserAgentServer,UAS).1.2.2代理服务器,,,,.,.1.2.3重定向服务器SIP,SIP.,SIP.1.2.4注册服务器,.1.3.,403第4期祝正运等:基于SIP的代理服务器的设计实现.TCP.,..UAS/UAC.,.,INVITE200,,ACK.,200ACK,.,.UAS/UAC,,.,Via.To,From,CallIDContact,,Via.,Via,,.2代理服务器的设计方案SIP.:;;;SIP.2.12,(ProxyState),7(opAck,opBye,opCancel,opInvite,opRegister,opStatus,opProxy).,,op,.,opRegisterRegister.2Fig.2SIPproxyserverstatemachine2.22,.2.2.1多线程模式:SIP;,.:1)SIP:SIPSIP,()SIP,.,.SIP,.,.2):.,,SIP.SIP.,UDP.2.2.2消息处理SIPSIP.SIPUDP,..,UA[6,7].1)opRegister:.,:(1)ProxyAuthorization,,,;,,.MaxForwards,0,483(TooManyHops),1,;,;,401(Unauthorized),,.Via,,482(LoopDetected),,.(2)100(Trying).(3)Via(branch).(4)Contact.(5).2)opInvite:UA.:(1),opRegister1).(2)100(Trying).(3)branchVia.404江南大学学报(自然科学版)第4卷(4)RecordRoute.(5)RouteURLURI.(6),,401.(7)SIP.3)opAck:INVITE.:4xxACK,ACKRoute,ACK;INVITE-200OKACK,,ACKRoute.:(1)Route,,.(2),opRegister(1).(3).(4)Via(branch).(5)Route.4)opBye:.:BYERoute,,,RouteBYE;,Route,BYE,CANCELINVITE,SIPBYE.[8]:(1),opRegister1),Route,CANCEL.(2).(3).(4)Via(branch).(5)SIPRoute.5)opCancel:(CANCEL).:(1),opRegister1).(2)To,From,CSeqnumberCallId,,200,,481(Transactiondoesnotexist),.(3).(4).(5)To,From,CallIdCSeqnumberCANCEL.(6)URI.(7)Via,Via.(8)SIP.6)opStatus:,1xx,2xx,3xx,4xx,5xx6xx.:(1)100:.(2)181,182:Via,.!Via,,Via,ViaURI,SIP.∀2xx:CSeq,CANCEL,,;REGISTER,Contact;,,Via,180/181.#302::INVITE()ACK.INVITE,Via302;INVITE,INVITEURIACK,SIP.INVITE,Via302.INVITEViabranch,302Contact,404(NotFound)INVITE,;;INVITEURIContact;INVITE,,401.SIPINVITE.∃:INVITEACK,Via,.7)opProxy:SIP,INFO,OPTIONS,TRANSFER,REFER..2.3,405第4期祝正运等:基于SIP的代理服务器的设计实现,,100,99%,IPSIP,.3结语SIP,.,RFC3261(SIP),VC%net.,SIP.:,,.,,.:[1]RFC3261,SIP:SessionInitiationProtocol[S].[2]RFC2543,SIP:SessionInitiationProtocol[S].[3],,.SIP[J].,2004,(3):17-20.[4].SIP[EB/OL].[5]RFC2327,SDP:SessionDescriptionProtocol[S].[6]WookHyunHub,MiYoungHuh,ShingakKang.Animplementationofsipserversforinternettelephone[J].ElectronicsandTelecommunicationsResearchInstitute,2002,(6):61-65.[7].IP[M].:,2000.404-461.[8]GonzaloCamarillo.SIP[M].,,,.:,2003.(责任编辑:彭守敏)(上接第396页):[1],,.[J].,1998,19(10):24-31.[2],,.[J].,2001,22(6):363-365.[3],,.[M].:,2003.90-106.[4],.GIS[J].,2004,20(4):23-26.[5]BentleyJL.Multidimensionalbinarysearchtressusedforassociatedsearching[J].CommunicationsoftheAssociationforComputingMachinery,1975,18(9):509-517.[6]RobinsonJT.TheKDBTree:asearchstructureforlargemultidimensionaldynamicindexes[A].ProceedingofACMSIGMODInternationalConferenceonManagementofData[C].NewYork:ACMPress,1981.[7]FinkelRA,BentleyJL.Quadtrees:adatastructureforretrievaloncompositekeys[J].Acta,1974,4(1):1-9.[8]CutimanA.RTrees:adynamicindexstructureforspatialsearching[A].ProceedingofACMSIGMOD[C].SanFrancisco:MorganKaufmannPublishersInc,1984.547-557.[9],.[M].:,2000.22-27.[10].CAD[M].:,2000.33-34.(责任编辑:邢宝妹)406江南大学学报(自然科学版)第4卷
本文标题:基于SIP的代理服务器的设计实现
链接地址:https://www.777doc.com/doc-5005084 .html