`

sip 容易混乱的一些header

 
阅读更多
voip sip的最简单最标准的过程应该是这样

seq 1
src invite
dst ring
dst ok
src ack

....通话...

seq 2
src(dst) bye
dst(src) ok
....结束...


seq 1
双方的包 from , to 不变。
via ,dst增加自己的信息,如rport,用分号;分隔。

contact 始终是自己的sip完整地址。

call-id 始终是整个通话过程中的唯一值。它代表一个request从开始到结束。不管seq增加多少 。

seq 2
from , to 由seq变方重新生成,sip地址和tag都不变,只是To和From可能顺序换一下。 在seq下一次改变前,双方一致。

via 重新生成。里面的branch也重新生成。




sdp相关记录

v=0
o=IpPhone 2890844526 8000 IN IP4 192.168.84.121
s=IpPhone CALL
c=IN IP4 192.168.84.121
t=0 0
m=audio 10000 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
a=sendrecv

Origin
o=<username> <session id> <version> <network type> <address type> <address>

Connection Data
c=<network type> <address type> <connection address>

Media Announcements
m=<media> <port> <transport> <fmt list>

a=rtpmap:<payload type> <encoding name>/<clock rate>[/<encoding
     parameters>]
rtpmap是fmt list 的详细解释



a=recvonly
       This specifies that the tools should be started in receive-only
       mode where applicable. It can be either a session or media
       attribute, and is not dependent on charset.

a=sendrecv
       This specifies that the tools should be started in send and
       receive mode.  This is necessary for interactive conferences with
       tools such as wb which defaults to receive only mode. It can be
       either a session or media attribute, and is not dependent on
       charset.

a=sendonly
       This specifies that the tools should be started in send-only
       mode.  An example may be where a different unicast address is to
       be used for a traffic destination than for a traffic source. In
       such a case, two media descriptions may be use, one sendonly and
       one recvonly. It can be either a session or media attribute, but
       would normally only be used as a media attribute, and is not
       dependent on charset.

rtp 大小计算

根据ptime值,
比如ptime=20, media = pcma 表示 20ms发一个包,内容容量为160byte
计划方法

pcm a律为 8000hz 每次8bit,则秒秒发送包大小  8000(hz) * 8bit = 64kbps
64kbps/8 = 8k byte /s
因为ptime=20,即每次 1/20 * 8kbyte = 160byte(20ms)

分享到:
评论

相关推荐

    3GPP对SIP 的私有头(P-Header)扩展.doc

    《3GPP对SIP的私有头(P-Header)扩展》 SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体通信会话的协议,广泛应用于VoIP、视频会议等领域。3GPP(3rd Generation Partnership Project)为了...

    C#基于SIP协议的一些实例

    标题 "C#基于SIP协议的一些实例" 描述了如何在C#编程环境中利用SIP(Session Initiation Protocol)协议实现通信功能。SIP是一种应用层控制协议,用于建立、修改和终止多媒体通信会话,如语音通话、视频会议等。这个...

    一个简单的JAVA-JAIN-SIP客户端,可以连接SIP服务端发起呼叫

    6. **From/To Header**: 这些头信息在SIP消息中定义了呼叫的发起者和接收者。 7. **Request/Response**: SIP协议基于请求-响应模型,客户端发起请求(如INVITE),服务器回应(如200 OK或180 Ringing)。 8. **...

    SIP协议题库.rar_sip_sip协议习题

    sip 协议题库,有关于sip的一些基本的基础知识,考试或者面试等专业

    sip.rar_C# SIP_SIP C++_SIP 源码_sip_sip源码

    在IT行业中,SIP(Session Initiation Protocol)是一种用于控制多媒体通信会话(如语音和视频通话)的信令协议。这个"sip.rar"压缩包文件包含与C#和C++相关的SIP实现以及源码,是深入学习和理解SIP协议的好资源。...

    sip实例

    - `gov.nist.javax.sip.header.*`:提供了各种SIP头部的实现。 - `gov.nist.javax.sip.message.*`:用于创建和处理SIP消息。 - `java.util.*`:包含了Java集合框架、实用工具类以及日期和时间模型。 #### 3. **...

    基于JAIN SIP的sip实现技术

    ### 基于JAIN SIP的SIP实现技术 #### 1. 引言 当前,在构建电话网络的过程中,存在两大主流信令体系:H.323与SIP(Session Initiation Protocol,会话启动协议)。H.323是由ITU-T(国际电信联盟电信标准化部门)...

    SIP模拟工具 SIP Inspector

    SIP Inspector 是一个用来模拟不同的SIP消息和通讯情景的工具,可用来创建 SIP 信令、定制 SIP 消息以及兼容输入和输出的消息包,该工具还可以直接从 pcap 文件中播放 RTP 流。

    sip.rar_SIP java_java textclient_sip_基于SIP_基于sip的java

    以下是一些关键的Java SIP API组件: 1. **SIP Stack**:这是SIP协议的核心,负责处理网络传输、消息路由、事务管理和会话管理。在Java中,`SipFactory`用于创建`SipStack`对象,而`SipStack`则用于创建`Sip...

    SIP.js-master_sip.js介绍vsjssip_sip.js_SIP.js-master_

    SIP.js是一个强大的JavaScript库,专门用于实现Session Initiation Protocol(SIP)的应用,它使得在Web浏览器中构建VoIP(Voice over Internet Protocol)应用程序变得简单。标题中的"SIP.js-master"可能指的是该...

    SIP与诺基亚SIP工具

    - **基于文本**:与HTTP类似,SIP采用文本格式,这使得它更容易理解和实现。 - **信令协议**:SIP主要用于处理会话的发起、更改和终止,而具体的媒体流则通过其他协议(如RTP)来承载。 - **扩展性强**:除了基本的...

    免费WINDOWS 下的SIP 服务器软件 miniSipServer

    迷你SIP服务器(miniSipServer)是一款专为Windows操作系统设计的免费SIP服务器软件,主要功能是提供语音-over-IP(VoIP)服务。在本文中,我们将深入探讨SIP协议、miniSipServer的特点及其在实际应用中的重要性。 ...

    SIP Phone_sip_phone_

    标题"SIP Phone_sip_phone_"和描述"Manual fonte supplier"暗示了我们正在讨论与SIP(Session Initiation Protocol)电话相关的技术知识,特别是可能涉及一个SIP电话软件的源代码或开发文档。SIP是一种互联网协议,...

    SIP呼叫_linux_sip_

    在IT行业中,SIP(Session Initiation Protocol)是一种用于控制多媒体通信会话(如语音和视频通话)的应用层协议。这个“SIP呼叫_linux_sip_”的主题涉及到使用C语言在Linux操作系统上实现SIP呼叫的功能。以下是...

    Sip揭秘.pdf

    《SIP揭密》由IETF最早的SIP发起人之一撰写,深入解释了当今人们谈论最多的关于SIP协议是什么以及起草它的标准的原因,评价了SIP究竟能够做什么以及传递什么,评估了SIP同其他标准和系统的兼容度,设计了新的支持SIP...

    JAIN-SIP例子

    **JAIN-SIP简介** JAIN-SIP(Java API for Internet Multimedia Subsystems - Session Initiation Protocol)是Java平台上的一个开源API,它为开发者提供了一种处理和实现SIP(Session Initiation Protocol)协议的...

    C#的SIP协议栈

    SIP(Session Initiation Protocol)协议是一种用于控制多媒体通信会话(如语音和视频通话)的信令协议。在IT领域,特别是在VoIP(Voice over Internet Protocol)行业中,SIP被广泛应用于创建、修改和终止多媒体...

    华为sip协议详解华为sip协议详解

    **华为SIP协议详解** SIP(Session Initiation Protocol)是一种用于控制多媒体通信会话(如语音、视频通话)的信令协议。华为在通信领域广泛使用SIP协议,为网络设备提供高效的通信能力。本篇文章将深入探讨华为...

Global site tag (gtag.js) - Google Analytics