【引用】PJNATH - Open Source ICE, STUN, and TURN Library

PJNATH (PJSIP NAT Helper) is an open source library providing NAT  traversal functionalities by using standard based protocols such as  STUN, TURN, and ICE.
  Background Network Address Translation (NAT) is commonly deployed everywhere  primarily to alleviate the exhaustion of IPv4 address space by allowing  multiple hosts to share a public/Internet address. While NAT would work  well for typical client server communications (such as web and email),  since it's always the client that initiates the conversation and  normally client doesn't need to maintain the connection for a long time,  installation of NAT would cause major problem for peer-to-peer  communication, such as (and especially) VoIP.
Read more..
  intro PJSIP NAT Helper (PJNATH) is a library which contains the  implementation of standard based NAT traversal solutions. PJNATH can be  used as a stand-alone library for your software, or you may use  PJSUA-LIB library, a very high level library integrating PJSIP, PJMEDIA,  and PJNATH into simple to use APIs.
PJNATH has the following features:
STUNbis implementation,
  providing both ready to use STUN-aware socket and framework to  implement higher level STUN based protocols such as TURN and ICE. The  implementation complies to RFC 5389 standard.

   NAT type detection ,
  performs detection of the NAT type in front of the endpoint, according to RFC 3489 .  While the practice to detect the NAT type to assist NAT traversal has  been deprecated in favor of ICE, the information may still be useful for  troubleshooting purposes, hence the utility is provided.

   Traversal Using Relays around NAT (TURN) implementation.
  TURN is a protocol for relaying communications by means of using relay,  and combined with ICE it provides efficient last effort alternative for  the communication path. The TURN implementation in PJNATH complies to draft-ietf-behave-turn-14 draft.

   Interactive Connectivity Establishmen (ICE) implementation.
  ICE is a protocol for discovering communication path(s) between two endpoints. The implementation in PJNATH complies to draft-ietf-mmusic-ice-19.txt draft In the future, more protocols will be implemented (such as UPnP IGD, and SOCKS5).
  Library Organization The library provides the following main component groups:
STUN: Session Traversal Utilities for NAT

TURN: Traversal Using Relays around NAT

ICE: Interactive Connectivity Establishment

NAT Classification/Detection Tool

  Apart from the NAT Classification/Detection Tool , each component group are further divided into two functionalities:
Transport objects
  The transport objects (such as STUN transport, TURN transport, and ICE  stream transport) are the implementation of the session object with particular transport/sockets. They are provided as ready to use objects for applications.

   Transport independent/session layer
  The session objects (such as STUN session, TURN session, and ICE  session) are the core object for maintaining the protocol session, and  it is independent of transport (i.e. it does not "own" a socket). This  way developers can reuse these session objects for any kind of  transports, such as UDP, TCP, or TLS, with or without using PJLIB socket  API. The session objects provide function and callback to send and  receive packets respectively. For more information about each component groups, please click the component link above.
  Getting Started with PJNATH  Library Dependencies The PJNATH library depends (and only depends) on PJLIB and PJLIB-UTIL  libraries. All these libraries should have been packaged together with  the main PJSIP distribution. You can download the PJSIP distribution  from PJSIP website
  Using the libraries Please click on the appropriate component under Library Organization section above, which will take you to the documentation on how to use the component.
  Samples We attempt to provide simple samples to use each functionality of the PJNATH library.
Please see PJNATH Samples and screenshots page for the list of samples.
http://www.pjsip.org/pjnath/docs/html/index.htm
        
        



        







        
          
            
            评论这张
          
        


          
            
               【引用】PJNATH - Open Source ICE, STUN, and TURN Library - yyimen - yyimen的博客
            
            转发至微博
          
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值