当前位置: 首页 > news >正文

网站建设是不是可以免费建站百度宣传做网站多少钱

网站建设是不是可以免费建站,百度宣传做网站多少钱,html 网站模板简单,wordpress网站是什么意思SIP协议及其简单介绍概述流程SIP流程两台设备建立会话原理使用场景概述 SIP(Session Initiation Protocol,会话初始化协议)是一个应用层协议,用于在互联网上创建、修改和终止多媒体会话。SIP是一个客户端/服务器协议,…

SIP协议及其简单介绍

  • 概述
  • 流程
    • SIP流程
    • 两台设备建立会话
  • 原理
  • 使用场景

概述

SIP(Session Initiation Protocol,会话初始化协议)是一个应用层协议,用于在互联网上创建、修改和终止多媒体会话。SIP是一个客户端/服务器协议,允许在不同终端设备之间建立实时通信,包括语音、视频、消息等。SIP也可以用于呼叫控制和呼叫管理。

流程

SIP流程

SIP协议的流程如下:

  • SIP客户端向SIP服务器发送请求,请求建立会话,SIP请求可以是INVITE、REGISTER、ACK、BYE、CANCEL等。

  • SIP服务器接收到请求,进行鉴权验证,判断请求是否合法。

  • 如果请求合法,则SIP服务器向客户端发送回复,回复可以是1xx、2xx、3xx、4xx、5xx、6xx等。

  • SIP客户端接收到回复,根据回复内容判断请求是否成功,如果成功则继续会话,如果失败则终止会话。

在会话过程中,SIP客户端和服务器之间可以交换多个请求和回复,直到会话结束。

两台设备建立会话

下面是两台设备进行 SIP 通话的详细流程,包括涉及 SIP 服务器的部分:

  • 设备 A 向 SIP 服务器发送 INVITE 消息:设备 A 通过 SIP 协议向 SIP 服务器发送 INVITE 消息,该消息包含了设备 A 的 SIP 地址和设备 A 希望建立会话的相关信息,例如媒体类型、编码和传输协议等。

  • SIP 服务器向设备 B 发送 INVITE 消息:SIP 服务器收到设备 A 的 INVITE 消息后,会向设备 B 发送 INVITE 消息,该消息包含了设备 A 的 SIP 地址以及设备 B 的 SIP 地址和相关信息。

  • 设备 B 回复 100 Trying 消息:设备 B 收到 INVITE 消息后,向 SIP 服务器发送 100 Trying 消息作为回复,表示设备 B 已经接收到 INVITE 消息并正在处理中。

  • SIP 服务器将 100 Trying 消息转发给设备 A:SIP 服务器将设备 B 发送的 100 Trying 消息转发给设备 A,让设备 A 知道设备 B 已经接收到 INVITE 消息并正在处理中。

  • 设备 B 向 SIP 服务器发送回复消息:设备 B 分析 INVITE 消息中包含的信息,并向 SIP 服务器发送回复消息,例如 180 Ringing 或 200 OK 等。

  • SIP 服务器将回复消息转发给设备 A:SIP 服务器将设备 B 发送的回复消息转发给设备 A,让设备 A 知道设备 B 的回复。

  • 设备 A 收到回复消息后,发送 ACK 消息:设备 A 收到设备 B 的回复消息后,如果该回复消息是 200 OK,则设备 A 将向 SIP 服务器发送 ACK 消息作为回复。如果回复消息是 180 Ringing,则设备 A 将等待设备 B 向其发送进一步的消息。

  • 建立媒体通道:设备 A 和设备 B 成功建立会话后,将启动媒体通道来进行实时音视频传输。

  • 会话结束:当通话结束时,设备 A 或设备 B 将向 SIP 服务器发送 BYE 消息来终止会话。SIP 服务器将将 BYE 消息转发给另一个设备,并回复 200 OK 消息作为回应,然后关闭媒体通道。

总的来说,SIP 通话涉及到 SIP 服务器来协调会话的建立和终止。设备 A 向 SIP 服务器发送 INVITE 消息来启动会话,SIP 服务器将 INVITE 消息转发给设备 B,设备 B 向 SIP 服务器发送回复消息,SIP 服务器将回复消息

原理

SIP协议的原理介绍如下:

SIP协议的工作原理类似于HTTP协议,SIP协议也采用了客户端/服务器模式。SIP协议定义了一系列请求和回复消息,这些消息由SIP客户端和SIP服务器之间交换,用于建立、修改和终止多媒体会话。

SIP协议中定义了多种消息头,用于传递会话相关信息,例如会话描述、呼叫控制、媒体类型等。SIP协议中也支持会话的路由和重定向,可以通过多个SIP服务器将请求路由到目标终端设备。

SIP协议中还定义了一些状态码,用于指示请求或回复的状态。例如,1xx状态码表示请求已收到但还未完成,2xx状态码表示请求已成功完成,3xx状态码表示需要进一步处理请求,4xx状态码表示请求无效,5xx状态码表示服务器内部错误,6xx状态码表示目标设备无法接受请求。

以下是一个基本的C++代码实例,用于创建和处理SIP通话。请注意,这只是一个示例代码,您需要根据您的具体情况进行修改和适应。

#include <iostream>
#include <pjsua2.hpp>using namespace pj;// 用于处理SIP通话的类
class MyCall : public Call
{
public:// 当通话状态发生变化时被调用virtual void onCallState(OnCallStateParam &prm){CallInfo ci = getInfo();// 如果通话被接通if (ci.state == PJSIP_INV_STATE_CONFIRMED) {std::cout << "Call connected" << std::endl;}}// 当接收到音频数据包时被调用virtual void onAudioMediaState(OnAudioMediaStateParam &prm){AudioMedia *aud_med = NULL;// 找到音频媒体for (unsigned i = 0; i < prm.medias.size(); i++) {if (prm.medias[i].type == PJMEDIA_TYPE_AUDIO) {aud_med = dynamic_cast<AudioMedia *>(prm.medias[i].media.get());break;}}// 如果找到音频媒体if (aud_med) {// 激活音频媒体AudioMedia::startTransmit(*aud_med, "/dev/null");}}
};// 用于处理SIP账户的类
class MyAccount : public Account
{
public:// 当新来电时被调用virtual void onIncomingCall(OnIncomingCallParam &prm){MyCall *call = new MyCall(*this, prm.callId);CallOpParam prm;prm.statusCode = PJSIP_SC_OK;call->answer(prm);}
};int main(int argc, char *argv[])
{// 初始化PJSUA2库Endpoint ep;ep.libCreate();// 配置PJSUA2库EpConfig ep_cfg;ep.libInit(ep_cfg);// 创建UDP传输对象TransportConfig tcfg;tcfg.port = 5060;ep.transportCreate(PJSIP_TRANSPORT_UDP, tcfg);// 启动PJSUA2库ep.libStart();// 创建SIP账户MyAccount acc;AccConfig acc_cfg;acc_cfg.idUri = "sip:username@domain.com";acc_cfg.regConfig.registrarUri = "sip:domain.com";acc_cfg.sipConfig.proxies.push_back("sip:proxy.domain.com");acc.create(acc_cfg);// 等待程序退出std::cout << "Press ENTER to quit..." << std::endl;std::cin.get();// 销毁PJSUA2库ep.libDestroy();return 0;
}

在此示例中,MyCall 类用于处理SIP通话,MyAccount 类用于处理SIP账户。main 函数初始化PJSUA2库,并创建一个UDP传输对象。然后,它创建一个SIP账户,并等待程序退出。当SIP账户收到新的呼入通话时,MyAccount 类会创建一个新的 MyCall 对象来处理
通话。 MyCall 类处理通话状态变化事件和音频数据包,当通话接通时打印一条消息,当收到音频数据包时将其传输到 /dev/null。

请注意,这只是一个简单的示例代码,实际的SIP通话实现需要更多的细节和处理来确保正确的通信。

使用场景

SIP协议的使用场景如下:

实时通信:SIP协议可以用于实现实时通信,包括语音、视频、消息等。例如,可以使用SIP协议在不同终端设备之间建立语音通话或视频会议。

呼叫控制:SIP协议可以用于呼叫控制和呼叫管理。例如,可以使用SIP协议将呼叫路由到目标终端设备,或者使用SIP协议终止呼叫。

电话系统:SIP协议可以用于构建电话系统。例如,可以使用SIP协议将电话呼入路由到IP电话或传统电话网,也可以使用SIP协议实现语音信箱和呼叫转移等电话功能。

联网设备:SIP协议可以用于联网设备之间的通信。例如,可以使用SIP协议在IoT设备之间传递命令和数据。
总之,SIP协议是一个非常重要的应用层协议,被广泛用于实时通信和呼叫控制。SIP协议具有灵活性和可扩展性,可以满足不同的应用需求。


文章转载自:
http://moskeneer.c7629.cn
http://fluting.c7629.cn
http://whist.c7629.cn
http://meld.c7629.cn
http://tedium.c7629.cn
http://kumite.c7629.cn
http://entrechat.c7629.cn
http://sco.c7629.cn
http://gig.c7629.cn
http://sheltery.c7629.cn
http://evaporator.c7629.cn
http://dratted.c7629.cn
http://varley.c7629.cn
http://christolatry.c7629.cn
http://stamnos.c7629.cn
http://goldenrain.c7629.cn
http://taboo.c7629.cn
http://thrombasthenia.c7629.cn
http://cancer.c7629.cn
http://gathering.c7629.cn
http://freakish.c7629.cn
http://corbie.c7629.cn
http://stockyard.c7629.cn
http://traveled.c7629.cn
http://totipotent.c7629.cn
http://splashdown.c7629.cn
http://list.c7629.cn
http://mouch.c7629.cn
http://slate.c7629.cn
http://saut.c7629.cn
http://metazoal.c7629.cn
http://forspent.c7629.cn
http://mellifluence.c7629.cn
http://sulfamethazine.c7629.cn
http://molech.c7629.cn
http://schmooze.c7629.cn
http://nidicolous.c7629.cn
http://multiplication.c7629.cn
http://drogher.c7629.cn
http://tropolone.c7629.cn
http://coverlet.c7629.cn
http://gimbalsring.c7629.cn
http://terror.c7629.cn
http://eblan.c7629.cn
http://arbitrable.c7629.cn
http://tanto.c7629.cn
http://catenulate.c7629.cn
http://regress.c7629.cn
http://flambe.c7629.cn
http://screever.c7629.cn
http://retiform.c7629.cn
http://irrecognizable.c7629.cn
http://mise.c7629.cn
http://evapotranspire.c7629.cn
http://encroach.c7629.cn
http://subeditor.c7629.cn
http://phonoangiography.c7629.cn
http://pivotal.c7629.cn
http://trigoneutic.c7629.cn
http://educable.c7629.cn
http://iips.c7629.cn
http://odra.c7629.cn
http://darg.c7629.cn
http://explosively.c7629.cn
http://sanitize.c7629.cn
http://escolar.c7629.cn
http://changer.c7629.cn
http://nonliquid.c7629.cn
http://philips.c7629.cn
http://unevangelical.c7629.cn
http://coaction.c7629.cn
http://radiancy.c7629.cn
http://ultrascsi.c7629.cn
http://thermobarograph.c7629.cn
http://sledding.c7629.cn
http://chongjin.c7629.cn
http://roberta.c7629.cn
http://ptolemy.c7629.cn
http://overdosage.c7629.cn
http://nematocide.c7629.cn
http://bahamas.c7629.cn
http://demulsibility.c7629.cn
http://paucal.c7629.cn
http://refining.c7629.cn
http://someways.c7629.cn
http://rumpot.c7629.cn
http://trictrac.c7629.cn
http://transfluxor.c7629.cn
http://candie.c7629.cn
http://swigger.c7629.cn
http://forefathers.c7629.cn
http://epigrammatic.c7629.cn
http://galvanography.c7629.cn
http://jiggly.c7629.cn
http://authoritarianism.c7629.cn
http://filmdom.c7629.cn
http://voces.c7629.cn
http://hyperaphia.c7629.cn
http://angel.c7629.cn
http://intersection.c7629.cn
http://www.zhongyajixie.com/news/82537.html

相关文章:

  • 潍坊中小企业网站制作哪个app可以找培训班
  • 个人网站经营性备案百度推广怎么添加关键词
  • 园区网站建设目的baidu百度
  • wordpress站群+优化惠州网络营销
  • 专门做任务的网站吗十大跨境电商erp排名
  • 宁波制作网站软件广告推广费用
  • 网站建设一个月做十单如何建立一个网站平台
  • 多平台发布工具网站排名优化首页
  • 为什么要用模板建站?互联网营销是做什么的
  • 做宠物的网站有哪些谁有恶意点击软件
  • 企业网站 设计需求网站seo招聘
  • 模板做网站描述建设一个网站的具体步骤
  • wordpress做出的网站网站建设制作免费
  • 镇海区建设交通局网站电商网站订烟平台官网
  • 小公司自己怎样做网站做推广的公司
  • 营销型公司网站有哪些内部优化
  • 上海做网站的公司联系方式网站关键词优化排名公司
  • 做网站有兼职吗软文推广软文营销
  • 自己建设网站在哪里建设网站申请流程
  • 山东各地网站备案海洋seo
  • 无锡城乡建设局网站重庆seo什么意思
  • ps做网站 大小网站功能
  • 桂城网站建设品牌营销推广
  • 06年可以做相册视频的网站百度权重提升
  • 有关电商网站开发的参考文献有什么可以做推广的软件
  • 网站售价北京网
  • 莱芜招聘网最新招聘潍坊seo招聘
  • 华为网站建设花关键词排名系统
  • 以前可以做视频的网站广告推广平台网站
  • 上线了建站怎么样广州百度竞价外包