Sofia-SIP辅助文档六 - Sofia-SIP中的SIP和SDP特性

SIP 模块 - mod_sofia <br />SIP 模块是 FreeSWITCH 的主要模块,所以,值得拿出专门一章来讲解。<br />在前几章时里,你肯定见过几次 sofia 这个词,只是或许还不知道是什么意思。是这样的,Sofia-SIP 是由诺基亚公司开发的 SIP 协议栈,它以开源的许可证 LGPL 发布,为了避免重复发明轮子,FreeSWITCH 便直接使用了它。<br />在 FreeSWITCH 中,实现一些互联协议接口的模块称为 Endpoint。FreeSWITH 支持很多的 Endpoint, 如 SIP、H232等。 阅读详情
 http://sofia-sip.sourceforge.net/refdocs/sofia_sip_conformance.html,翻译自官网的这张网页。

本文档将阐述Sofia-SIP协议栈是如何支持下面的这些标准。

    


特性

RFC 3261:基本SIP协议

已支持

SIP注册和会话层的实现使得应用程序可以完全像RFC3261所定义的SIP用户代理,SIP代理服务器或者重定向服务器那样工作。

RFC 3261的功能被分为五层:

  1. 消息语法和编码
  2. 传输
  3. 事务
  4. 事务用户(UAS和UAC核心、代理核心)
  5. SIP元素:用户代理客户端和服务端,代理和注册服务器



特性

RFC 3261 19和20章:语法和编码

已支持

支持的RFC 3261方法有:REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,以及扩展方法INFO,PRACK,SUBSCRIBE,NOTIFY,UPDATE,MESSAGE,REFER,和PUBLISH。

Sofia-SIP支持以下这些RFC3261定义的SIP头域,以及扩充头域(生成、解析和语法检测):

Accept,Accept-Encoding,Accept-Language,Alert-Info (extension in 1.12.7), Allow, Authentication-Info, Authorization, Call-ID ("i"), Call-Info, Contact ("m"), Content-Disposition, Content-Encoding ("e"), Content-Language, Content-Length ("l"), Content-Type ("c"), CSeq, Date, Error-Info, Expires, From ("f"), In-Reply-To, Max-Forwards, Min-Expires, MIME-Version, Organization, P-Asserted-Identity (extension in 1.12.7), P-Preferred-Identity (extension in 1.12.7), Priority, Proxy-Authenticate, Proxy-Authorization, Proxy-Require, Record-Route, Refer-Sub (1.12.5),Remote-Party-ID (extension in 1.12.7), Reply-To (extension in 1.12.7), Require, Retry-After, Route, Server, Subject ("s"), Supported ("k"), Timestamp, To ("t"), Unsupported, User-Agent, Via ("v"), Warning, and WWW-Authenticate.

未知的头域(扩充头域)也能被支持,应用程序通过键值对的方式传递/接收它们。

运行时扩充SIP解析器的方式是使用头域特定的解析器。


  • Automatic escaping of reserved characters has not been implemented.未实现保留字符的自动转义(这么解释?)。


  • Using NUL (zero byte) in double-quoted strings has not been implemented未实现双引号间无任何字符的空字串(这么解释?)。



    特性

    RFC 3261 18章:UDP和TCP传输

    已支持

    基于IP4和IP6的UDP和TCP均支持。

    1300字节的UDP包大小限制缺省被强制执行。如果超过这个上限,选用TCP。如果TCP连接被拒绝,且消息大小小于64千字节,试着使用UDP连接。可shiyongNTATAG_UDP_MTU()来调整这个数值。

    在客户端TCP连接会被重复使用。然而在服务端缺省在30分钟的空闲之后会关闭TCP连接。空闲时长上限可通过TPTAG_IDLE()来调整(作为参数提供给nta_agent_add_tport()或nta_agent_create())。

    服务端会使用收到消息的同一个TCP连接发送响应消息。

    每个UDP消息包中只能包括一个SIP消息。as per RFC 3261.(这个该怎么翻译?)

    注意

    对SCTP也有着实验性的支持。



    特性

    RFC 3261 17章:事务

    已支持

    RFC 3261第十七章描述了事物状态引擎功能。针对INVITE、ACK和CANCEL方法会有特殊的处理。事物状态引擎分两种模式:用户模式和代理模式。

    RFC 3261中定义了SIP定时器缺省值。T1,64倍的T1,T2和T4的值可通过<sofia-sip/nta_tag.h>头文件中的配置tags修改。

    SIP定时器C的实线可参考:1.12.7。同样,它的值可通过<sofia_sip/nta_tag.h>头文件中定义的NTATAG_TIMER_C() tag函数修改。

    注意



    特性

    RFC 3261 26章:安全

    已支持

    实现了TLS和SIPS的URIs。当前,TLS方式并不需要证书,即便提供了也不会检查。

    注意

    未实现:

    • 使用TLS证书验证连接
    • S/MIME(怎么翻译?)



    特性

    RFC 2617:HTTP摘要式身份认证

    已支持

    Sofia-SIP包括HTTP摘要式身份认证的客户端和服务端认证模块(这么翻译?)。 includes authentication client and server modules implementing HTTP Digest authentication.

    HTTP Digest是一个简单的挑战-响应认证体系,由RFC2617定义。UA针对服务端发来的挑战发送依据特定值计算出的校验码(这么翻译?)。based on the UA sending a checksum calculated over specific values in response to a challenge sent by the server (proxy or UA).

    校验码计算支持MD5(RFC 1321)。计算MD5摘要式哈希表的算法可以是MD5,MD5sess或者是RFC 2069兼容的算法。"auth","auth-int"和none(不出现)这三项qop参数值都支持。支持“opaque”参数。

    支持的SIP认证头域(生成、解析和语法检查)有:Authorization,Authentication-Info,Proxy-Authenticate,Proxy-Authentication-Info,Proxy-Authorization,和WWW-Authenticate.

    SIP interface to the modules is implemented as defined in RFC 3261 (sections 8.1.3.5, 22.2, 22.3, 22.4).

    RFC 2617的头Proxy-Authentication-Info并没有出现在RFC 3261中,但Sofia-SIP仍然支持它。

    注意

    未实现:

    • Using nextnonce
    • Mutual authentication


     

    特性

    RFC 3262:PRACK和100rel

    已支持

    支持RFC3262定义的会话中PRACK方法。支持临时应答可靠性语义::

    • 如果请求中包含100rel在临时响应消息中包含100rel头域
    • 如果临时响应消息的Require头域包含100rel可选标签则生成PRACK消息
    • 自动重发临时响应消息

    支持RSeq和RAck SIP头域(生成,解析和语法检查)。

    注意

    扩展阅读:http://blog.chinaunix.net/uid-790245-id-2037585.html,http://blog.youkuaiyun.com/wind19/article/details/7440839。


     

    特性

    RFC 3263:定位SIP服务器

    已支持

    从SIP或SIPS URI中解析出SIP服务器地址,使用DNS中的NAPTR,SRV,A或AAAA记录。Support for SIP server address resolution from SIP or SIPS URI using NAPTR, SRV, A or AAAA records in DNS as defined inRFC 3263.

    注意

    解析除了SIP或SIPS外其他任何URIs,例如,IM:或PRES:URIS。Resolving any other types of URIs than SIP or SIPS URIs, e.g., IM: or PRES: URIs.



    特性

    RFC 3265:SIP事件通知

    已支持

    RFC 3265中出现的订阅、处理异步事件通知的SIP扩展。SIP extensions for subscribing and processing asynchronous event notifications as defined inRFC 3265.

    包括会话层的发送刷新SUBSCRIBE和接收NOTIFY消息。Includes dialog level support for sending and refreshing SUBSCRIBE and receiving NOTIFY messages.

    明确支持(生成、解析和语法检查)的SIP头域有Event(“o”),Allow-Events和Subscription-State。The SIP headers explicitly supported (generating, parsing and syntax checking) areEvent ("o"),Allow-Events, andSubscription-State

    注意:当前不支持衍生的(这么翻译?)SUBSCRIBE请求。Note: currently there is no support for forked SUBSCRIBE requests.

    注意

    应用必须关注:Application must take care of:

    • 由应用负责订阅、生成和处理特定的事件类型和解释事件数据内容Subscribing, generating or processing specific event types and interpreting the content of event data is up to application



    特性

    RFC 2806: tel URI

    已支持

    Sofia-SIP支持任何URI类型的处理。Sofia-SIP可以解析tel:URIs结构。

    注意

    缺少:

    • tel: URIs地址解析

    扩展阅读:http://blog.youkuaiyun.com/jxhnuaa/article/details/3254566。  



    特性

    RFC 2976: INFO

    已支持

    INFO method is supported within a dialog natively.

    注意

    Not implemented:

    • Generating or processing contents of INFO requests

     

     

    特性

    RFC 3311: UPDATE

    已支持

    UPDATE method as defined in RFC3311. UPDATE allows a client to update parameters of a session (such as the set of media streams and their codecs) even within early dialogs.

    Offer-Answer negotiation with UPDATE is implemented in nua.

    注意

    Application must take care of:

    • Initiating UPDATE requests


     

    特性

    RFC 3313: Media Authentication

    已支持

    Sofia-SIP provides generic support for extension headers and parameters. P-Media-Authorization header is supported as anextension header.

    注意

    Application must take care of:

    • Passing the authorization token to QoS reservation request 



    特性

    RFC 3323: Privacy

    已支持

    Privacy header is supported (generating, parsing and syntax checking).

    Call-Id header is generated from cryptographically random id without host name or IP address. By default,Contact andVia headers contain only IP address that can be dynamically allocated.

    Application can enter any SIP URI and display name to From header, e.g.,

     Anonymous <sip:anonymous@example-email.address.hidden> 
    

    注意

    Application must take care of:

    • Properly populating the URIs and display names within SIP headers
    • Not including any optional headers that could reveal identity
    • Generating of Privacy header with appropriate values
    • Generating of Proxy-Require: privacy
    • Using anonymous callback URIs etc. 



    特性

    RFC 3326: Reason

    已支持

    Sofia-SIP supports Reason header (generating, parsing and syntax checking).

    注意

    Application must take care of:

    • Generating or processing Reason headers

     

     

    特性

    RFC 3325: Asserted Identity 

    已支持

    Sofia-SIP supports P-Asserted-Identity and P-Preferred-Identity headers (generating, parsing and syntax checking). Also the non-standard headerRemote-Party-ID is supported.

    Since:
    New in 1.12.7.

    注意

    ot implemented:

    • id privacy
    • Recognizing trust domains and enforcing handling of headers based on those


     

    特性

    RFC 3327: Path

    已支持

    User-agent engine can add "path" option tag to Supported header of REGISTER requests.

    Sofia-SIP explicitly supports Path header (generating, parsing and syntax checking).

    注意



    特性

    RFC 3329: Security Agreement

    已支持

    Some support of the SIP Security Mechanism Agreement procedures. The client is able to insert Security-Client and Security-Verify header with faked-ver value.

    Sofia-SIP explicitly supports (generating, parsing and syntax checking) Security-Client, Security-Server, and Security-Verify headers.

    Security-mechanism supported is "digest".

    注意

    Correct d-ver value is not calculated.



    特性

    RFC 3361: DHCPv4 option for locating SIP servers.

    已支持

    Sofia-SIP supports outbound proxy.

    注意

    Application must take care of:

    • passing outbound proxy name or address from DHCP client to Sofia-SIP stack. 



    特性

    RFC 3420: message/sipfrag

    已支持

    Sofia-SIP passes the received SIP message headers to application which can create a message/sipfrag payload.

    注意

    Application must take care of:

    • processing the SIP message fragments

     


    特性

    RFC 3428: MESSAGE

    已支持

    MESSAGE method is supported natively.

    注意



    特性

    RFC 3486: Compressing SIP

    已支持

    Sofia-SIP provides support for using comp=sigcomp parameters in Via header and SIP URIs, indicating support for compression.

    注意

    SigComp itself is not supported.



    特性

    RFC 3515: REFER

    已支持

    REFER method is supported natively. Sofia-SIP processes incoming REFER requests and generates NOTIFY with correctEvent header automatically.

    Further notifications can be automatically generated actions when nua_invite() is given referrer's nua handle in NUTAG_NOTIFY_REFER().

    Sofia-SIP explicitly supports (generating, parsing and syntax checking) Refer-To ("r") SIP header.

    See also support for RFC 3891 and RFC 3892.

    注意



    特性

    RFC 3608: Service-Route

    已支持

    Sofia-SIP supports Service-Route that can be used to provide a mechanism by which a registrar may inform a registering UA of a service route. User-Agent will optionally use the route provided inService-Route header.

    The SIP header explicitly supported (generating, parsing and syntax checking) isService-Route.

    注意



    特性

    RFC 3680: "reg" event

    已支持

    Sofia-SIP supports generic SIP event support for subscribing SIP event packages and receiving notifications for them. Subscriptions are refreshed before expiration when needed and subscriptions are terminated on request. Sofia-SIP takes care of notified subscription states.

    UA can SUBSCRIBE to a registration state event package after sending initial REGISTER to, e.g., 3GPP network and use it to follow its registration status.

    注意

    Application must take care of:

    • Generating subscriptions for "reg" event
    • Processing notifications for "reg" event
    • Handling of XML document in notifications

     


    特性

    RFC 3824: ENUM

    已支持

    Tel URIs are supported in any headers including URI parameters, e.g., To, From, Contact headers, and Request-URI of the outgoing SIP request provided that the next hop is given as SIP or SIPS URI.

    注意

    Stack can not resolve E.164 number to address of next hop. A proxy in the network must resolve E.164 numbers with ENUM.



    特性

    RFC 3840: Callee Capabilities

    已支持

    Feature parameters can be added to SIP profiles and sent within Contact header of REGISTER request as header parameters.

    UAC can optionally generate media tags for Contact header using local media profile.

    Feature parameters can also be sent within any other SIP request as extension parameters of Contact header.

    注意

    Application must take care of:

    • Processing the feature parameters received in the Contact header 



    特性

    RFC 3841: Caller Preferences

    已支持

    Built-in support for user-agent behavior.

    UAC can optionally generate Accept-Contact header using local media profile.

    SIP parser parses the Accept-Contact and Reject-Contact headers.

    ACK and CANCEL request messages sent have same values for Accept-Contact/Reject-Contact or Request-Disposition headers as the original request had.

    There are functions for calculating score for contacts.

    The SIP headers explicitly supported (generating, parsing and syntax checking) are:Request-Disposition ("d"), Accept-Contact ("a"), Reject-Contact ("j"),

    注意

    Application must take care of:

    • UAS processing incoming Accept-Contact or Reject-Contact headers

     


    特性

    RFC 3842: Message waiting event

    已支持

    Sofia-SIP supports generic SIP event support for subscribing SIP event packages and receiving notifications for them. Subscriptions are refreshed before expiration when needed and subscriptions are terminated on request. Sofia-SIP takes care of notified subscription states.

    注意

    Application must take care of:

    • Generating subscriptions for "message-summary" event
      • Including correct Event and Accept headers in the request (if needed)
    • Processing notifications for "message-summary" event
      • Handling of summary information in notifications

     


    特性

    RFC 3856: Presence
    RFC 3859: Common Profile for Presence

    已支持

    Sofia-SIP supports generic SIP event support for subscribing SIP event packages and receiving notifications for them. Subscriptions are refreshed before expiration when needed and subscriptions are terminated on request. Sofia-SIP takes care of notified subscription states.

    Note: Usage of pres: URI is supported only if the next hop URI to where to send SUBSCRIBE is a SIP URI (e.g. of outbound proxy). Resolving of pres: URIs by DNS is not supported.

    注意

    Application must take care of:

    • Generating subscriptions for "presence" event
      • Including correct Event and Accept headers in the request (if needed)
    • Processing notifications for "presence" event
      • Handling of presence information in notifications

     

     

    特性

    RFC 3857: "winfo" event template package
    RFC 3858: winfo format

    已支持

    Sofia-SIP supports generic SIP event support for subscribing SIP event packages and receiving notifications for them. Subscriptions are refreshed before expiration when needed and subscriptions are terminated on request. Sofia-SIP takes care of notified subscription states.

    注意

    Application must take care of:

    • Generating subscriptions for winfo events
      • Including correct Event and Accept headers in the request (if needed)
    • Processing notifications for winfo events:
      • Processing watcherinfo XML documents

     

     

    特性

    RFC 3860: Common Profile for IM

    已支持

    Sofia-SIP supports handling of any URI type. Sofia-SIP parses "im:" URIs.

    注意

    Application must take care of:

    • resolving the "im:" URI


     

    特性

    RFC 3891: Replaces

    已支持

    Replaces header is explicitly supported (generating, parsing and syntax checking).

    注意

    Application must take care of:

    • generating Replaces header from a dialog and matching a dialog with a Replaces header received

     

     

    特性

    RFC 3892: Referred-By

    已支持

    Referred-By header is explicitly supported (generating, parsing and syntax checking).

    Referred-by token can be sent and received in text-based SIP message body.

    注意

    Application must take care of:

    • Generating or processing Referred-By headers
    • Generating (and encrypting) or verifying (and decrypting) of Referred-by tokens


     

    特性

    RFC 3903: PUBLISH

    已支持

    PUBLISH method is supported natively. The SIP headers explicitly supported (generating, parsing and syntax checking) areSIP-ETag andSIP-If-Match.

    The user-agent engine keep published data refreshed untilnua_unpublish() is called.

    注意

    Application must take care of:


     

    特性

    RFC 4028: Session Timers

    已支持

    The SIP session-timer ("timer") extension is supported.

    The session-expires value and refreshing party is negotiated in user-agent engine. When user-agent engine is responsible for refreshes, it will initiate re-INVITE or UPDATE transaction at regular intervals.

    If there has been no SIP activity in session during the refresh period, it will try to automatically terminate the call by sending aBYE request.

    The SIP headers explicitly supported (generating, parsing and syntax checking) areSession-Expires ("x") andMin-SE.

    注意

    

    

    特性

    RFC 4168: SCTP as Transport for SIP 

    已支持

    The transport=sctp URI parameter is supported. The SCTP transport protocol is supported as experimental. It is enabled with configure script argument --enable-sctp.

    The framing of SIP messages over SCTP is not specified clearly inRFC 4168. It is possible to send SIP messages smaller than 64K over SCTP.

    注意


    特性

    RFC 4320: Actions Addressing Identified Issues with SIP's Non-INVITE Transaction

    已支持

    The action 1 (make the best use of provisional responses) is supported whenNTATAG_EXTRA_100(1) is used withnua_create() or nta_agent_create(). The 100 Trying provisional response is sent after T2 is expired or when a retransmission is received after T2/2 after the initial request.

    The action 2 (remove the useless late-response storm) is supported by default. The 408 timeout response is not forwarded by default (it's forwarding can be enabled withNTATAG_PASS_408(1), however).

    注意

    Application must include NTATAG_EXTRA_100(1) with nua_create() or nta_agent_create() tags.



    特性

    RFC 4488: Suppression of REFER Implicit Subscription

    已支持

    Sofia-SIP supports Refer-Sub header (generating, parsing and syntax checking).

    The implicit subscription is suppressed by nua, if the Refer-Sub: true header is included in the REFER request (on server side) or response (on client side).

    Since:
    New in 1.12.5

    注意

    The REFER client application must include SIPTAG_REFER_SUB_STR("true") in the nua_refer() tags.



    特性

    RFC 5057: Multiple Dialog Usages in SIP

    已支持

    Sofia-SIP provides function sip_response_terminates_dialog() that can be used to determine the effect of error response with dialog.

    The nua UA engine uses sip_response_terminates_dialog().

    注意

    The client application must either use NUA or sip_response_terminates_dialog().



    特性

    RFC 4566: SDP: Session Description Protocol

    已支持

    Generic support (generating, parsing and syntax checking) for SDP. The SDPv=,o=,c=,b=,t=,r=,z=,k=,a=, and m= lines are separated and parsed. The "e=", "p=", "s=", and "i=" lines are separated.

    The attributes "a=sendrecv", "a=sendonly", "a=recvonly", "a=inactive", a=rtpmap, and "a=fmtp" are parsed.

    The implementation partially implements RFC 4566. Note that definition of 'token' was updated in RFC 4566 and the parser has not been updated yet.

    注意

    RFC 4566 obsoletes

    
    

    特性

    RFC 3264: SDP Offer/Answer Negotiation

    已支持

    Generating and processing offers or answers.

    注意

    "a=fmtp" parameters are not taken into account when generating or processing answer



    特性

    RFC 3312: Preconditions

    已支持

    Sofia-SIP provides generic support for attribute lines that conform to SDP syntax.

    Sofia-SIP supports handling SIP feature tags in Proxy-Require, Require, Supported ("k"), and Unsupported header 

    注意

    Application must take care of:

    • Semantics and handling of preconditions
    • Reservation of resources 


     



    特性

    RFC 3388: Grouping of Media Lines

    已支持

    Sofia-SIP provides generic support for attribute lines that conform to SDP syntax.

    RFC 3388 defines mid, group, LS and FID are predefined strings to be used within attribute line

    注意

    Application must take care of:

    • Generating or processing the attribute lines
    • Grouping the media for transport accordingly


     

    特性

    RFC 3407: Capability Declaration

    已支持

    Sofia-SIP provides generic support for attribute lines that conform to SDP syntax

    注意

    Application must take care of:

    • Defining sqn, cdsc, cpar etc. strings needed in a= line
    • Generating or processing the attribute lines
    • Capability negotiation itself 



    特性

    RFC 3524: SRF

    已支持

    Sofia-SIP provides generic support for attribute lines that conform to SDP syntax

    注意

    

    Application must take care of:

    • Defining SRF string needed in a= line
    • Generating or processing the attribute lines
    
    

    特性

    RFC 3551: RTP/AVP

    已支持

    Sofia-SIP recognizes the RTP payload types for well-known audio and video codecs defined inRFC 3551.

    注意

    Application must take care of:

    • Audio or video processing
    • Generating a=rtpmap or a=fmtp lines when needed


    特性

    RFC 3556: Bandwidth

    已支持

    Sofia-SIP provides generic support for attribute lines that conform to SDP syntax

    注意

    Application must take care of:

    • Generating or processing RS and RR bandwidth modifiers
    • Semantics of bandwidth allocation


     


    特性

    RFC 3605: RTCP attribute

    已支持

    Sofia-SIP provides generic support for attribute lines that conform to SDP syntax

    注意

    ication must take care of:

    • Discovering port numbers
    • Generating or processing the RTCP attribute lines


    特性

    RFC 3890: TIAS

    已支持

    Sofia-SIP provides generic support for attribute lines that conform to SDP syntax

    注意

    Application must take care of:

    • Generating or processing TIAS bandwidth modifiers
    • Generating or processing the maxprate attribute lines


    

    
    

FreeSwitch(九):SIP模块 一、基本概念 (1)Sofia-sip:FreeSwitch使用了比较成熟的开源的SIP协议栈。 (2)EndPoint:互联协议接口模块。如SIP、H232. (3)mod_Sofia:实现了SIP中的注册服务器、重定向服务器、媒体服务器等各种功能。他的定位是一个B2BUA,不能实现代理服务器。 (4)SIP profile:在mod_sofia中,SIPprofile相当于SIPUA,通过不同的配置参数配置一个UA的行为。每个SIP profile可以监听不同的IP地址和端口。 (5)GetW 阅读详情

相关推荐

sofia sip协议栈

sofia-sip协议栈,可用于开发ip电话,比较轻巧,支持多系统。

freeswitch和sofia-sip中关于sip的消息机制

Sofia-sip内部使用消息队列的方式对sip协议进行处理,sofia-sip和application之间是通过reactor模式进行通信,即通过回调实现,本文主要关注sofia-sip内部消息队列的实现: 1. 需要了解sofia-sip使用到的一些oo(面向对象)技术,链接如下 http://sofia-sip.sourceforge.net/refdocs/programmin

极乐净土 7314

鱼眼双目测距实战:从OpenCV标定到SGBM匹配的完整流程解析

本文详细解析了鱼眼双目测距的完整流程,从OpenCV标定到SGBM匹配,涵盖标定、校正、匹配和测距四个关键阶段。通过实战经验分享,帮助开发者解决鱼眼镜头强畸变带来的测距挑战,提升测距精度至5%以内。特别适合机器人导航、自动驾驶和VR领域的开发者参考。

weixin_27298377的博客 122

Sofia-SIP 使用教程

Sofia-SIP 是一个开源的 SIP 协议栈,广泛用于 VoIP 和即时通讯应用。以下是一些基本的使用教程,帮助你快速上手 Sofia-SIP。

new_abc的专栏 1393

Vercel部署个人博客

先去注册一个账号,建议注册一个Github账号后,使用Github账号来登录Vercel。vercel 部署静态资源网站极其方便简单,并且有可观的访问速度,最主要的是免费部署。此时项目已经成功搭建完毕了,点击图片即可跳转到 vercel 所提供的二级域名访问。然后可以直接拉取我的仓库,所有已经配置好了,可以直接使用,建议fork成自己的!然后修改dns就行,注意vercel提供的域名可能访问不了,需要自己绑定!如果有自己的域名,还可以在 vercel 中进行设置。进入Vercel官网。

醉里博客202271.xyz 2356

PostgreSQL高可用之主备复制

多个PostgreSQL可协同工作,如果主库发生宕机备库将迅速进行接管并对外提供服务以实现高可用。本文将从主备复制、主备切换、故障转移等角度进行实际测试演练。第一章主备复制是基础,通过主备复制可以得到一个或多个相同的实例。在主备复制的基础上通过第二章主备切换介绍了如何手工将主库与备库互换角色。在第三章中,采用了Keepalived进行实时监测,在主库宕机后,使用主备切换中提到的命令使备库升级为主库并对外提供服务,以达到PostgreSQL高可用的目标。

asdasdsaff的博客 1347

Sofia-SIP辅助文档一 - Sofia-SIP源代码树结构

http://sofia-sip.sourceforge.net/refdocs/building.html

Neohan的专栏 2702

单细胞分析(19)—— 单细胞转录组基因集评分方法

在单细胞RNA测序(scRNA-seq)分析中,基因集评分(Gene Set Scoring)是一项关键任务,能帮助研究者识别细胞功能状态

阅读文献,记录学习笔记 2439

sofia源码树目录结构

sofia源码存储于libsofia-sip-ua目录下,其下按功能模块划分了许多子目录。这里简要描述源码树目录结构。终端设备和高层库不仅用到这里的信令接口,还有媒体接口。 通用运行库: "su" - sockets、内存管理、线程封装 "sresolv" -异步DNS解析 "ipt" - IPT工具库 SIP信令 "nua" - SIPUA(User Ag...

至虛極,守靜篤 714

用Python爬虫抓取大宗交易成交数据:全面解析与实战代码

大宗交易是指在证券市场中,涉及大额买卖的交易。此类交易通常由机构投资者进行,其交易量较大,对市场的影响显著。大宗交易数据包含了买卖双方的成交价格、成交量等关键信息,这些数据对于投资者和分析师而言,具有重要的市场预测意义。Python爬虫是一种自动化抓取互联网上数据的工具。通过爬虫,我们可以定期获取大宗交易数据,节省人工查询的时间。爬虫的工作原理通常包括:发送HTTP请求、获取响应数据、解析网页内容、提取关键信息、存储和展示数据。

2201_76125261的博客 417

开源 SIP 协议栈介绍

Sofia-SIP 是用 ANSI C 开发的事件驱动型 SIP 协议栈,被广泛用于 FreeSWITCH 等通信系统中。PJSIP 是一套跨平台的 C 语言多媒体通信库,涵盖 SIP、SDP、RTP、ICE 等协议,适用于桌面和移动平台。reSIProcate 是由 SIPfoundry 社区发起的 C++ SIP 协议栈项目,具备较强的可扩展性和功能完整性。Kamailio 是基于 SIP Express Router(SER)的高性能 SIP 服务器项目,支持大规模分布式部署。

至虛極,守靜篤 1887

GIS常用符号化色带(超级色带)根据python制作

GIS自带的色带比较单一,今天分享一款色带,应用之后大家出图的时候可以选择更多的配色,符号化/点击色块/样式引用/将样式添加至列表即可。色带类型比较多,大家可以自己尝试下不同的风格。简单符号化一下,看看效果。以中国县级行政区划为例,

J_Giser的博客 2636

SIP Stack Research

Items to researchLicensingIs the license compatible with core Asterisk SCF?Does the license require us to do things we may not want to do?CommunityIs the community active?Are they continually adding new functionality and fixing bugs?Can we get help from th

RTC hacker 1753

回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证

回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证 目录回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证基本介绍划分原理留一划分交叉验证K折交叉数据下载程序设计参考资料致谢 基本介绍 在机器学习里,通常来说我们不能将全部用于数据训练模型,否则我们将没有数据集对该模型进行验证,从而评估我们的模型的预测效果。为了解决这一问题,有如下常用的方法: 第一种是最简单的,也是很容易就想到的。我们可以把整个数据集分成两部分,一部分用于训练,一部分用于验证,这也就是我们经常提到的训练集

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 6375

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

FREESWITCH系列之学习资料汇总

FreeSwitch架构篇 FreeSwitch的架构 https://blog.youkuaiyun.com/yetyongjin/article/details/96838256 https://blog.youkuaiyun.com/hello_zyg/article/details/79125052 FreeSwitch总体架构 https://www.cnblogs.com/Braveliu/p/11325031.html Sofia-Sip辅助文档 Sofia-SIP辅助文档一 – Sofia-SIP源代

cww_zju_amdocs的专栏 492

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LINQ之路:LINQ to XML之导航和查询

查看switch_core_media.c的switch_core_media_patch_sdp函数,在处理video信息时,强制重选了video本地端口,而audio端口处理正常。查看调用堆栈,mod_sofia模块在处理183sdp的流程中,proxy_media模式下会主动调用“switch_core_media_patch_sdp”这一并无必要的操作。经过修改后的fs虽然可以正常转发rtp媒体流,但是仍然无法转发rtcp消息,在网络较差的情况下,视频媒体流无法利用rtcp的特性修复视频卡顿。

JPCI0QD21的博客 317

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

freeswitch的proxy_media模式下video流的问题与修正

查看switch_core_media.c的switch_core_media_patch_sdp函数,在处理video信息时,强制重选了video本地端口,而audio端口处理正常。查看调用堆栈,mod_sofia模块在处理183sdp的流程中,proxy_media模式下会主动调用“switch_core_media_patch_sdp”这一并无必要的操作。经过修改后的fs虽然可以正常转发rtp媒体流,但是仍然无法转发rtcp消息,在网络较差的情况下,视频媒体流无法利用rtcp的特性修复视频卡顿。

2501_94552121的博客 317

Node.js SIP 开发终极指南:主流库横向对比与技术选型策略

本文将从使用场景、功能层次、协议支持、易用性等维度,深度剖析 jssip, sip.js, node-sip, drachtio 以及 simple-sip-phone 等主流库,助你做出最明智的技术选型。· 总结: 如果你需要在 Node.js 中构建一个专业、高性能、可扩展的 SIP 服务器(如呼叫控制层、SBC、应用服务器),drachtio 是当前生态中最强大、最成熟的选择,没有之一。既可用来实现 SIP 客户端(如自动化呼叫脚本),也可用来构建 SIP 服务端(如代理、注册器)。

qq_25137439的博客 1314

heus控制台中创建工作区 .保存工作区配置 点击AWS Prometheus工作区ID进入详情,将提取/收集 中的配置保存为pro ...

查看switch_core_media.c的switch_core_media_patch_sdp函数,在处理video信息时,强制重选了video本地端口,而audio端口处理正常。查看调用堆栈,mod_sofia模块在处理183sdp的流程中,proxy_media模式下会主动调用“switch_core_media_patch_sdp”这一并无必要的操作。经过修改后的fs虽然可以正常转发rtp媒体流,但是仍然无法转发rtcp消息,在网络较差的情况下,视频媒体流无法利用rtcp的特性修复视频卡顿。

gMZv3MU7b的博客 393

博弈论中的简单合作博弈 C#实现

查看switch_core_media.c的switch_core_media_patch_sdp函数,在处理video信息时,强制重选了video本地端口,而audio端口处理正常。查看调用堆栈,mod_sofia模块在处理183sdp的流程中,proxy_media模式下会主动调用“switch_core_media_patch_sdp”这一并无必要的操作。经过修改后的fs虽然可以正常转发rtp媒体流,但是仍然无法转发rtcp消息,在网络较差的情况下,视频媒体流无法利用rtcp的特性修复视频卡顿。

2501_94611738的博客 212

vue中的watch详细讲解保证看的明明白白

查看switch_core_media.c的switch_core_media_patch_sdp函数,在处理video信息时,强制重选了video本地端口,而audio端口处理正常。查看调用堆栈,mod_sofia模块在处理183sdp的流程中,proxy_media模式下会主动调用“switch_core_media_patch_sdp”这一并无必要的操作。经过修改后的fs虽然可以正常转发rtp媒体流,但是仍然无法转发rtcp消息,在网络较差的情况下,视频媒体流无法利用rtcp的特性修复视频卡顿。

shuangrenyao的博客 290

中控IFace考勤机二开内存问题解决方案

查看switch_core_media.c的switch_core_media_patch_sdp函数,在处理video信息时,强制重选了video本地端口,而audio端口处理正常。查看调用堆栈,mod_sofia模块在处理183sdp的流程中,proxy_media模式下会主动调用“switch_core_media_patch_sdp”这一并无必要的操作。经过修改后的fs虽然可以正常转发rtp媒体流,但是仍然无法转发rtcp消息,在网络较差的情况下,视频媒体流无法利用rtcp的特性修复视频卡顿。

shuangrenyao的博客 328

小爱同学连接电脑进行交互 教程

查看switch_core_media.c的switch_core_media_patch_sdp函数,在处理video信息时,强制重选了video本地端口,而audio端口处理正常。查看调用堆栈,mod_sofia模块在处理183sdp的流程中,proxy_media模式下会主动调用“switch_core_media_patch_sdp”这一并无必要的操作。经过修改后的fs虽然可以正常转发rtp媒体流,但是仍然无法转发rtcp消息,在网络较差的情况下,视频媒体流无法利用rtcp的特性修复视频卡顿。

gMZv3MU7b的博客 262
上一篇: Sofia-SIP辅助文档四 - 日志以及调试信息输出
下一篇: vi快捷键必知必会
Neohan
博客等级 码龄26年 33粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值