sip协议代码,请问怎么通过SIP协议传输文件比如图片文件视频文件文档之类

1 , 请问怎么通过SIP协议传输文件比如图片文件视频文件文档之类你指的是什么?书?(卓越、当当都有卖)客户端?(可以去中国上下,挺多的 , 不过我就用过sip-communicator,跟QQ的功能相近)源代码?(这个也比较多,不过初学者一般就看jain-sip里面的example例子吧期待看到有用的回答!
2,sip协议如何用C语言实现1、开源的sip服务器端,比较好用的是Asterisk , 标准C程序实现,代码清晰 。2、sip的client相对比较多,主要有exosip,pjsip和opal 。exosip简单易用,在PC上用比较方便 。但是涉及的相关资源太多,用了osip,srtp,ms2等众多的开源库,ms2下面还用到了ffmpeg , 别的不说,光编译就是噩梦 。opal功能最强 , 虽然也用到了ffmpeg,但是自己封装的非常好 , 采用插件方式,调用灵活 。opal采用class方式提供封装,接口非常友好 。感觉唯一不爽的地方,就是低层使用了ptlib,虽然多平台下都很好用,但放在嵌入式下感觉稍庞大了一些 。pjsip精巧,方便移植 , 嵌入式下应该是首选 。不过视频频支持方面扩展起来比opal麻烦 。个人感觉,对于windows开发者来说,pjsip最大的好处就是代码调试方便 。整个工程一次编译通过,另外两个库还要找很多相关的资源 。3、其他的一些协议栈也调试过,比如reSipphone,好象是这个名字,还有Yate , 不过从快速开发角度看,都不太合适 。现在搞sip开发的,一开始就是先找好协议栈 。linphone,ekiga什么的 , 但庞大 。对于刚开始做的,最好是一个精简的demo 。后来找到pjsip下面的几个例子,慢慢地了解了sip的工作流程,当然少不了抓包工具和tcpdump 。不过 , 其实,sip没有想象中的那么麻烦 。现在回头看,刚开始做项目,使用协议栈绝对不是好想法 。如果换个方向,先熟悉SIP基本协议 , 然后自己改造一个,或完全写一个 , 可能效果更好 。
3,SIP协议 SUBSCRIBE订阅 404出错码404错误的意思是没有找到匹配的用户,也就是请求URI里user部分(你包里的340200. 。。。) 。你需要查一下这个值你是从哪里来的,server是否有与之匹配的已经注册的用户 。此外订阅如果想要成功的话,几个sip头也必须是server能够认识的 , 比如订阅的事件包类型(Event header),消息体类型(content-type) 。至于消息体力的内容,你这个看起来是私有协议,别人是帮不到你的 。大佬,help,为啥我把nonce的值md5加密再发过去,报错404啊 , 注册都没有成功【sip协议代码,请问怎么通过SIP协议传输文件比如图片文件视频文件文档之类】
4,H323与SIP协议的区别是什么SIP是由IETF提出来的一个应用控制(信令)协议 。正如名字所隐含的--用于发起会话 。它可用来创建、修改以及终结多个参与者参加的多媒体会话进程 。参与会话的成员可以通过组播方式、单播连网或者两者结合的形式进行通信 。SIP中有客户机和服务器之分 。客户机是指为了向服务器发送请求而与服务器建立连接的应用程序 。用户代理(UserAgent)和代理(Proxy)中含有客户机 。服务器是用于向客户机发出的请求提供服务并回送应答的应用程序 。共有四类基本服务器:·用户代理服务器:当接到SIP请求时它联系用户 , 并代表用户返回响应 。·代理服务器:代表其它客户机发起请求,既充当服务器又充当客户机的媒介程序 。在转发请求之前,它可以改写原请求消息中的内容 。·重定向服务器:它接收SIP请求,并把请求中的原地址映射成零个或多个新地址,返回给客户机 。·注册服务器:它接收客户机的注册请求 , 完成用户地址的注册 。用户终端程序往往需要包括用户代理客户机和用户代理服务器 。代理服务器、重定向服务器和注册服务器可以看出是公众性的网络服务器 。在SIP中还经常提到定位服务器的概念,但是定位服务器不属于SIP服务 。SIP在设计上充分考虑了对其它协议的扩展适应性 。它支持许多种地址描述和寻址,包括用户名@主机地址:被叫号码@PSTN网关地址:Tel:010-62281234普通电话的描述等 。这样,SIP主叫按照被叫地址就可以识别出被叫在传统电话网上的位置 , 然后通过一个与传统电话网相连的网关发起并建立呼叫 。SIP最强大之处就是用户定位功能 。SIP本身含有向注册服务器注册的功能,也可以利用其它定位服务器DNS、LDAP等提供的定位服务来增强其定位功能 。SIP共规定了六种信令:INVITE、ACK、CANCEL、OPTIONS、BYE、REGISTER 。其中INVITE和ACK用于建立呼叫,完成三次握手,或者用于建立以后改变会话属性;BYE用以结束会话;OPTIONS用于查询服务器能力;CANCEL用于取消已经发出但未最终结束的请求;REGISTER用于客户出向注册服务器注册用户位置等消息 。SIP协议支持三种呼叫方式:由用户代理服务机(UAC)向用户代理服务器(UAS)直接呼叫 , 由UAC在重定向服务器的辅助下进行重定向呼叫和由代理服务器代表UAC向被叫发起呼叫 。通过SIP代理建立呼叫的例子如图6-8所示 。H.323和SIP协议的比较H.323和SIP分别是通信领域与因特网两大阵营推出的建议 。H.323企图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变 , 由电路交换变成了分组交换 。而SIP协议侧重于将IP电话作为因特网上的一个应用,较其实应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的业务基本相同,也都利用RTP作为媒体传输的协议 。但H.323是一个相对复杂的协议 。H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息 。ASN.1通常需要特殊的代码生成器来进行词法和语法分析 。而SIP的基于文本的协议,类似于HTTP 。基于文本的编码意味着头域的含义是一目了然的,如From、To、Subject等域名 。这种分布式、几乎不需要复杂的文档说明的标准规范夫风格,其优越性已在过去的实践中得到了充分的证明(现在广为流行的邮件协议SMTP就是这样的一个例子) 。SIP的消息体部份采用SDP进行描述,SDP中的每一项格式为=,也比较简单 。在支持会议电话方面 , H.323由于由多点控制单元(MCU)集中执行会议控制功能 , 所有参加会议终端都向MCU发送控制消息,MCU可能会成为颈,特别是对于具有附加特性的大型会议;并且H.323不支持信令的组播功能,其单功能限制了可扩展性,降低了可靠性 。而SIP设计上就为分布式的呼叫模型,具有分布式的组播功能,其组播功能不仅便于会议控制 , 而且简化了用户定位、群组邀请等,并且能节约宽带 。但是H.323集是中控制便于计费,对宽带的管理也比较简单、有效 。H.323中定义了专门的协议用于补充业务,如H.450.1、H.450.2和H.450.3等 。SIP并未专门定义的协议用于此目的,但它很方便地支持补充业务或智能业务 。只要充分利用SIP已定义的头域(如Contact头域),并对SIP进行简单的扩展(如增加几个域),就可以实现这些业务 。例如对于呼叫转移,只要在BYE请求消息中添加Contact头域,加入意欲转至的第三方地址就可以实现此业务 。对于通过扩展头域较难实现的一些智能业务,可在体系结构中增加业务代理,提供一些补充服务或与智能网设备的接口 。在H.323中 , 呼叫建立过程涉及到第三条信令信致到:RAS信令信道、呼叫信令信到和H.245控制信道 。通过这三条信道的协调才使得H.323的呼叫得以进行,呼叫建立时间很长 。在SIP中,会话请求过程和媒体协商过程等一起进行 。尽管H.323v2已对呼叫建立过程作了改进,但较之SIP只需要1.5个回路时延来建立呼叫,仍是无法相比 。H.323的呼叫信令通道和H.245控制信道需要可靠的传输协议 。而SIP独立于低层协议,一般使用UDP等无法连接的协议,用自己信用层的可靠性机制来保证消息的可靠传输 。总之,H.323沿用的是传统的实现电话信令模式,比较成熟,已经出现了不少H.323产品 。H.323符合通信领域传统的设计思想,进行集中、层次控制,采用H.323协议便于与传统的电话网相连 。SIP协议借鉴了其它因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,比较简单 , 但推出时间不长,协议并不是很成熟 。5,sip协议为什么from和to字段一样主叫号码和被叫号码就会相同 。你的主叫号码在sip软件中自己设置的 。被叫号码在呼叫的时候输入的号码 。在注册消息中,两者是一样的 。from:谁要注册,当然是SIP终端 , 标识为该SIP用户的公共用户身份 。TO:要注册谁,也是这个SIP终端啦 。不知是否讲清楚了 。望采纳sip协议生效的效力双方是对等的,无论从甲到乙还是从乙到甲都是同等效力,所以from和to要一样~register中,它们是一样的sip协议是自己实现的吗?如果是那你的代码有问题 。协议本身不可能是一样的6,SIP是怎样协商音频编码的sip其实就是一个会话协商协议 。对于音频编码这个部分,协商起来比较简单,在SIP协议的正文里(SDP)附带就行了 。其中的m=audio部分,rtp/avp后面跟的就是音频编码 。这个列表里就写明了我方支持那些音频编码,比如8 0 等 。对方也会有一个支持的音频编码的列表 , 那就看以哪方为主选择 , 确定一个双方都支持的编码,就完成了协商 。invite里面会携带sdp信息,会包含有自己支持的编码类型(711、729多一点) 。平台回复的200ok里会带着平台支持的编码类型,这样就协商成功了 。另外,有些线路会有早期媒体,如果平台回复的有 183的话,183里面也会有sdp信息,用于告诉终端自己支持的编码类型,从而协商成功 。

    推荐阅读