zoukankan      html  css  js  c++  java
  • dedicated bearer

    Session Initiation Protocol (SIP) Basic Call Flow Examples   RFC3665

     intuitive,   done.

    PDF]

    TS 123 401 - V11.3.0 - LTE; GPRS enhanced for LTE

    BASICS OF LTE bearer;

     

     3GPP36331 

     developer.

    kamailio-devel-guide

    DOC many in one. 

     sip router


    节后归来。

    However, before starting
    to tweak and adapt to your needs, we recommend that you do yourself a favour and read up on SIP. Please refer

    http://sip-router.org/docbook/sip-router/branch/master/sip/sip_introduction.html

    and more depth pdf doc can be download from  this.

    http://www.iptel.org/sip

    and official doc is 3261.

    ####### Routing Logic ########
    
    
    # Main SIP request routing logic
    # - processing of any incoming SIP request starts with this route
    route {
    
        # per request initial checks
        route(REQINIT);
    
        # NAT detection
        route(NAT);
    
        # handle requests within SIP dialogs
        route(WITHINDLG);
    
        ### only initial requests (no To tag)
    
        # CANCEL processing
        if (is_method("CANCEL"))
        {
            if (t_check_trans())
                t_relay();
            exit;
        }
    
        t_check_trans();
    
        # authentication
        route(AUTH);
    
        # record routing for dialog forming requests (in case they are routed)
        # - remove preloaded route headers
        remove_hf("Route");
        if (is_method("INVITE|SUBSCRIBE"))
            record_route();
    
        # account only INVITEs
        if (is_method("INVITE"))
        {
            setflag(FLT_ACC); # do accounting
        }
    
        # dispatch requests to foreign domains
        route(SIPOUT);
    
        ### requests for my local domains
    
        # handle presence related requests
        route(PRESENCE);
    
        # handle registrations
        route(REGISTRAR);
    
        if ($rU==$null)
        {
            # request with no Username in RURI
            sl_send_reply("484","Address Incomplete");
            exit;
        }
    
        # dispatch destinations to PSTN
        route(PSTN);
    
        # user location service
        route(LOCATION);
    
        route(RELAY);
    }

    In order to understand NAT and  RTP proxying, you must understand what happens when a user agent registers with a SIP Registrar and when a
    call is made.

    Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) also known as STUN…

    Application Level Gateway (ALG).

    Session Border Controllers (SBC).

    在voip-info的副标题他这样写道

    A REFERENCE GUIDE TO ALL THINGS VOIP.

    ALL THINGS .... 

    今天了解到那个英国留学的海龟同事五一三天都在家写代码。。。五味杂陈

    i Can not attribute this explanation to  young and  naive 

    lr

      loose routing was required we cannot process the message any further  

     note that unless SER is compiled with mode=debug, this may not work on all architectures. SER will just print some basic stuff and then be quiet.

    When we receive a REGISTER message, we immediately send a 100 Trying message back to the SIP client to stop it from retransmitting REGISTER messages. Since SER is UDP based there is no guaranteed delivery of SIP messages, so if the sender does not get a reply back quickly then it will retransmit the message.


    # *** To enable nat traversal execute:
    # - define WITH_NAT
    # - install RTPProxy: http://www.rtpproxy.org
    # - start RTPProxy:
    # rtpproxy -l _your_public_ip_ -s udp:localhost:7722

    This SER configuration handles all NAT related issues invisibly so that configuring SIP phones is a breeze. We do not use STUN because STUN generally adds another layer of complexity that can be avoided.

    http://nil.uniza.sk/

    NOTE:   In cases where both SIP clients are on the public Internet, then we do not proxy RTP streams since both SIP clients can directly
    contact each other. This is a key to building a scaleable VoIP platform.

    we don need proxy more

     ip addr show 

  • 相关阅读:
    Effective C# 原则37:使用标准的配置机制(译)
    Effective C# 原则31:选择小而简单的函数(译)
    Effective C# 原则24:选择申明式编程而不是命令式编程(译)
    Effective C# 原则34:创建大容量的Web API(译)
    Effective C# 原则27:避免使用ICloneable(译)
    Effective C# 第4章:创建基于二进制的组件(译)
    Effective C# 原则39:使用.Net验证(译)
    Effective C# 原则35:选择重写函数而不是使用事件句柄(译)
    Effective C# 原则25: 让你的类型支持序列化(译)
    Effective C# 原则38:使用和支持数据绑定(译)
  • 原文地址:https://www.cnblogs.com/iamgoodman/p/3696690.html
Copyright © 2011-2022 走看看