Asterisk SIP Realtime Architecture Issue/Bug

Home » Asterisk Users » Asterisk SIP Realtime Architecture Issue/Bug
Asterisk Users 2 Comments

> I am facing an issue with Peer registration in my asterisk server .
>
> I am using asterisk version 1.8.5.0 and using SIP real-time
> architecture.when i am doing registration it registered fine on asterisk
> as peer is available in Database.
>
> But now i am doing ‘sip reload’ or ‘reload’ due to some reason my peer
> registration is going out and i cannot able to call that peer even though
> in SIP client it shows me ‘registered’.
>
> Can any body elaborate on this issue which settings i need to put in
> sip.conf.
>
> I also tried to follow this patch
> https://issues.asterisk.org/view.php?id=14196 But it allready applied in
> code base so why it wont work?
>
> Here is my sip.conf settings.
>
> [general]
> context=from-internal        ; Default context for incoming cal
> rtcachefriends=no
> rtupdate=yes
> rtautoclear=yes
> rtsavesysname=yes
> callcounter = yes
> callevents=yes
> bindport=5060            ; UDP Port to bind to (SIP standard port is 5060)
> srvlookup=yes            ; Enable DNS SRV lookups on outbound calls
> pedantic=yes            ; Enable slow, pedantic checking for Pingtel
> tos=184            ; Set IP QoS to either a keyword or numeric val
> tos_sip=cs3                    ; Sets TOS for SIP packets.
> tos_audio=ef                   ; Sets TOS for RTP audio packets.
> tos=lowdelay            ; lowdelay,throughput,reliability,mincost,none
> maxexpiry=3600            ; Max length of incoming registration we allow
> defaultexpiry=120        ; Default length of incoming/outoing registration
> preferred_codec_only=yes
> disallow=all            ; First disallow all codecs
> allow=ulaw            ; Allow codecs in order of preference
> allow=alaw
> insecure=invite
> language=en                   ; Default language setting for all
> users/peers
> rtpholdtimeout=300        ; Terminate call if 300 seconds of no RTP
> activity
> useragent=dhaval              ; Allows you to change the user agent string
> dtmfmode = rfc2833        ; Set default dtmfmode for sending DTMF. Default:
> rfc2833
> qualify=yes
> nat=yes
> ;canreinvite=yes
> directmedia=yes
> directrtpsetup=yes
>
> And here is DB fields snapshots.
>
>               id: 1
>             name: 201
>           ipaddr: 172.18.100.243
>             port: 53624
>       regseconds: 1328716180
>      defaultuser: 201
>      fullcontact: NULL
>        regserver: dhaval
>        useragent: CSipSimple r1133 / b
>           lastms: 554
>             host: dynamic
>             type: friend
>          context: from-internal
>           permit: NULL
>             deny: NULL
>           secret: 201
>        md5secret: NULL
>     remotesecret: NULL
>        transport: NULL
>         dtmfmode: NULL
>      directmedia: yes
>              nat: NULL
>            allow: ulaw
>         disallow: g729
>         insecure: invite
>         callerid: NULL
> rfc2833compensate: NULL
>          mailbox: NULL
>   session-timers: NULL
>  session-expires: NULL
>    session-minse: NULL
> session-refresher: NULL
>
> Kindly help me to resolve this.
>
> Thanks
> Dhaval
>

The first thing I would try is ‘rtcachefriends=yes’, that should do it.

JR

2 thoughts on - Asterisk SIP Realtime Architecture Issue/Bug

  • Hi

    Nothing will stop the behaviour you are seeing. A SIP reload will clear
    the realtime cache thus stopping the asterisk server knowing where the
    realtime sip endpoint is until the endpoint re-registers.

    The question here is, why are you doing SIP reloads? Once you are using
    RealTime architecture for SIP, sip reloads become unnecessary unless you
    are making modifications to the general section of your sip.conf and why
    would you need to do that regularly?

    Regards

    Ish