dreaded "user is busy" calling sip

Discussion in 'General' started by AU Troll, Feb 25, 2009.

  1. AU Troll

    Joined:
    Jan 16, 2008
    Messages:
    18
    Likes Received:
    0
    I have an Elastix 1.3-2 server in place that is holding 5 SIP trunks from MyNetFone here in Australia.

    I also have an Elastix 0.9 server at home with three VoIP trunks, two with MyNetFone.

    Issue is - no one can call in on the VoIP lines onthe 1.3-2 server. Logs show the calls hitting the server but the calls are rejected (like sip anonymous is no) kind of thing. I have checked the mynetfone accounts by placing them on my own server and they work with no problems, incoming calls on the channels are picked up and routed appropriately.

    I have compared the two servers for configuration differences and can't find any other than the way the 1.3-2 handles the sip.conf files. there i can see differences but can't find where the place the info i feel the server needs. I have placed the required info in the sip-general-custom.conf (see below for what i added).

    Can anyone point me in the right direction so the 1.3-2 server will accept incoming sip calls?

    Mark

    sip-general-custom.conf

    allow=g729
    externip=xxx.xxx.xxx.xxx (marked out for security)
    localnet=192.168.0.0/255.255.255.0
    relaxdtmf=yes
    bind=5060
    bindaddr=0.0.0.0
     
  2. wiseoldowl

    Joined:
    Aug 19, 2008
    Messages:
    251
    Likes Received:
    0
    Why are you putting this in sip-general-custom.conf? That's NOT the correct way to do things in Elastix. You need to create a trunk, and an inbound route. Use Google to search for "Elastix Without Tears", download a free copy and read it (especially the parts on Trunks and Incoming Routes) - then you will know the correct way to do this sort of thing.

    Also this page on the FreePBX site about MyNetFone trunk configuration might help you.

    If you are going to build custom dial plans to do the work of trunks then you are on your own!

    Also, you REALLY should think about upgrading that 0.9 box.
     
  3. AU Troll

    Joined:
    Jan 16, 2008
    Messages:
    18
    Likes Received:
    0
    I made the changes as per the website you referred to, removed all the other settings from the sip_general_custom.conf and still no joy. Still get the user is busy.

    The reason I put those settings in the sip_general_custom.conf is those settings make my old version of Elastix at home work properly (externip, internet, etc.) and there was no other place to put them.

    Before you ask, yes i do have all the appropriate ports forwarded from the router to the box, etc...and all out going calls over the VoIP lines do work. Only incoming is the problem.

    Mark
     
  4. wiseoldowl

    Joined:
    Aug 19, 2008
    Messages:
    251
    Likes Received:
    0
    Re:dreaded

    (Emphasis added) Really? No other place?? How about the place they are supposed to go - in a trunk? Sorry if I sound a bit irritable about this but I always feel as though if you are going to try and defy the way Elastix/FreePBX does things (on never look in any documentation to learn the correct way) then why you you expect others to bail you out when things stop working?

    Just because you get some hack to work doesn't mean you've done it right. In FreePBX especially, newer versions can sometimes break your hacks. It's the risk you take when you try to do things your way, rather than the way FreePBX has designed for you to do it. I have no quarrel with people who really want to do their own thing, but then why are you using a FreePBX-based distribution at all?

    Anyway, I'll make another suggestion. Try omitting the following:

    User Details

    User Context: 091XXXXX

    canreinvite=no
    context=from-trunk
    fromuser=091xxxxx
    insecure=very
    qualify=no
    secret=<password>
    type=friend
    username=091xxxxx

    Blank all those out, but move the context=from-trunk to the PEER details - also in the PEER details you may (probably will) have to change the type= to type=peer. Then make sure that the number after the forward slash (/) in your registration string is in fact the DID assigned by your provider, and that you use that same number as the DID in your inbound route (you DID create an inbound route, right?)
     
  5. jgutierrez

    Joined:
    Feb 28, 2008
    Messages:
    5,737
    Likes Received:
    0
    And I suppose that you have already installed on your server the appropiate g729 (depends on hardware) codec on your server?

    When someone calls you, do they get a fastbusy tone, or do they get a message that the line is out of service?

    is your sip trunk registered?
    asterisk -rx "sip show peers"

    paste the configuration for your sip trunk.
     
  6. AU Troll

    Joined:
    Jan 16, 2008
    Messages:
    18
    Likes Received:
    0
    Yes, we have the g729 codecs installed and 10 licenses all of which does register in properly per the Asterisk log files and the fact that we do get the music on hold with no problems. further, the system is able to make outgoing calls via the sip trunks (that is the only way the company makes outgoing calls) and there has never been an issue with this.

    a sip show registry gives the following:



    Host Username Refresh State Reg.Time
    sip.myfone.com.au:5060 09157662@sip 105 Registered Thu, 26 Feb 2009 16:10:18
    sip.myfone.com.au:5060 09214603 105 Registered Thu, 26 Feb 2009 16:10:18
    sip.myfone.com.au:5060 09214602 105 Registered Thu, 26 Feb 2009 16:10:18
    sip.myfone.com.au:5060 09214601 105 Registered Thu, 26 Feb 2009 16:10:18
    sip.myfone.com.au:5060 09214600 105 Registered Thu, 26 Feb 2009 16:10:18

    sip show peers gives (less the extensions for brevity):



    Name/username Host Dyn Nat ACL Port Status
    Out 4/09214603 125.213.160.82 N 5060 OK (60 ms)
    Out 3/09214602 125.213.160.82 N 5060 OK (75 ms)
    Out 2/09214601 125.213.160.81 N 5060 OK (46 ms)
    Out 1/09214600 125.213.160.81 N 5060 OK (79 ms)
    moffs-sip/09157662 125.213.160.81 N 5060 OK (73 ms)

    the sip configurations below are first from the non-working Elastix 1.3 and the second from my own working 0.9. You will note the information the working 0.9 sip file that I can not incorporate into the non-working 1.3. I did try to put this information into the sip_general_additional.conf but that did not fix this issue either.

    Configs from Elastix 1.3 that is not accepting Sip calls

    Sip.conf

    ; do not edit this file, this is an auto-generated file by freepbx
    ; all modifications must be done from the web gui

    [general]
    ;
    ; enable and force the sip jitterbuffer. If these settings are desired
    ; they should be set in the sip_general_custom.conf file as this file
    ; will get overwritten during reloads and upgrades.
    ;
    ; jbenable=yes
    ; jbforce=yes

    ; These will all be included in the [general] context
    ;
    #include sip_general_additional.conf
    #include sip_general_custom.conf
    #include sip_nat.conf
    #include sip_registrations_custom.conf
    #include sip_registrations.conf

    ; These should all be expected to come after the [general] context
    ;
    #include sip_custom.conf
    #include sip_additional.conf
    #include sip_custom_post.conf

    Sip_additional.conf

    ; do not edit this file, this is an auto-generated file by freepbx
    ; all modifications must be done from the web gui


    [09157662]
    canreinvite=no
    context=from-trunk
    fromuser=09157662
    insecure=port,invite
    qualify=no
    secret=xxxxxx
    type=user
    username=09157662

    [09214600]
    context=from-trunk

    [09214601]
    canreinvite=no
    context=from-trunk
    fromuser=09214601
    insecure=port,invite
    qualify=no
    secret=xxxxxx
    type=user
    username=09214601

    [09214602]
    canreinvite=no
    context=from-trunk
    fromuser=09214602
    insecure=port,invite
    qualify=no
    secret=xxxxxx
    type=user
    username=09214602

    [09214603]
    canreinvite=no
    context=from-trunk
    fromuser=09214603
    insecure=port,invite
    qualify=no
    secret=xxxxxx
    type=user
    username=09214603



    [moffs-sip]
    disallow=all
    allow=g729
    allow=alaw
    allow=ulaw
    authname=09157662
    canreinvite=no
    dtmfmode=rfc2833
    fromuser=09157662
    host=sip.myfone.com.au
    insecure=port,invite
    nat=yes
    pedantic=no
    qualify=yes
    secret=xxxxxx
    type=peer
    username=09157662

    [Out 1]
    disallow=all
    allow=g729
    allow=ulaw
    allow=alaw
    authname=09214600
    canreinvite=no
    dtmfmode=rfc2833
    fromuser=09214600
    host=sip.myfone.com.au
    insecure=port,invite
    nat=yes
    pedantic=no
    qualify=yes
    secret=xxxxxx
    type=peer
    username=09214600

    [Out 2]
    allow=g729
    disallow=all
    canreinvite=no
    authname=09214601
    dtmfmode=rfc2833
    fromuser=09214601
    host=sip.myfone.com.au
    insecure=port,invite
    nat=yes
    pedantic=no
    qualify=yes
    secret=xxxxxx
    type=peer
    username=09214601

    [Out 3]
    disallow=all
    allow=g729
    authname=09214602
    canreinvite=no
    dtmfmode=rfc2833
    fromuser=09214602
    host=sip10.mynetfone.com.au
    insecure=port,invite
    nat=yes
    pedantic=no
    qualify=yes
    secret=xxxxxx
    type=peer
    username=09214602

    [Out 4]
    disallow=all
    allow=g729
    authname=09414603
    canreinvite=no
    dtmfmode=rfc2833
    fromuser=09214603
    host=sip10.mynetfone.com.au
    insecure=port,invite
    nat=yes
    pedantic=no
    qualify=yes
    secret=xxxxxx
    type=peer
    username=09214603


    sip_general_additional.conf

    ; do not edit this file, this is an auto-generated file by freepbx
    ; all modifications must be done from the web gui


    vmexten=*97
    disallow=all
    allow=ulaw
    allow=alaw
    context=from-sip-external
    callerid=Unknown
    notifyringing=yes
    notifyhold=yes
    limitonpeers=yes
    tos_sip=cs3
    tos_audio=ef
    tos_video=af41

    sip_registrations.conf

    ; do not edit this file, this is an auto-generated file by freepbx
    ; all modifications must be done from the web gui


    register=09214600:{password}@sip.myfone.com.au/09214600
    register=09214601:{password}@sip.myfone.com.au/09214601
    register=09214602:{password}@sip.myfone.com.au/09214602
    register=09214603:{password}@sip.myfone.com.au/09214603
    register=09157662@sip.myfone.com.au:{password}:09167662@sip.myfone.com.au/09157662

    Same files but from working Elastix 0.9

    sip.conf

    ; Note: If your SIP devices are behind a NAT and your Asterisk
    ; server isn't, try adding "nat=1" to each peer definition to
    ; solve translation problems.


    [general]
    #include sip_general_additional.conf


    bindport = 5060 ; Port to bind to (SIP is 5060)
    bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
    allow=all
    ; If you need to answer unauthenticated calls, you should change this
    ; next line to 'from-trunk', rather than 'from-sip-external'.
    ; You'll know this is happening if when you call in you get a message
    ; saying "The number you have dialed is not in service. Please check the
    ; number and try again."
    context = from-trunk ; Send unknown SIP callers to this context
    callerid = Unknown
    tos=0x68
    relaxdtmf=yes
    localnet=192.168.1.0/255.255.255.0
    externhost=(my external yi org host name)
    t38pt_udptl=yes



    ; Reported as required for Asterisk 1.4
    notifyringing=yes
    notifyhold=yes
    limitonpeers=yes


    ; enable and force the sip jitterbuffer. If these settings are desired
    ; they should be set in the sip_general_custom.conf file as this file
    ; will get overwritten during reloads and upgrades.
    ;
    ; jbenable=yes
    ; jbforce=yes


    ; #, in this configuration file, is NOT A COMMENT. This is exactly
    ; how it should be.
    #include sip_general_custom.conf
    #include sip_nat.conf
    #include sip_registrations_custom.conf
    #include sip_registrations.conf
    #include sip_custom.conf
    #include sip_additional.conf

    sip_additional.conf

    ; do not edit this file, this is an auto-generated file by freepbx
    ; all modifications must be done from the web gui

    [09150372]
    username=0915xxxx
    type=user
    secret=xxxxxx
    qualify=no
    insecure=very
    fromuser=0915xxxx
    coontext=from-trunk
    canreinvite=no

    [0917xxxx]
    username=0917xxxx
    type=user
    secret=xxxxxx
    qualify=no
    insecure=very
    fromuser=0917xxxx
    coontext=from-trunk
    canreinvite=no

    [200]
    type=friend
    secret=legend51
    record_out=Always
    record_in=Always
    qualify=yes
    port=5060
    pickupgroup=
    nat=yes
    mailbox=200@default
    host=dynamic
    dtmfmode=rfc2833
    disallow=all
    dial=SIP/200
    context=from-internal
    canreinvite=no
    callgroup=
    callerid=device <200>
    allow=g729
    allow=ulaw
    allow=alaw
    accountcode=
    call-limit=50


    [Exetel-in]
    username=0242730172
    type=user
    secret=xxxxxx
    qualify=no
    insecure=very
    fromuser=0242XXXXXX
    coontext=from-trunk
    canreinvite=no

    [Exetel-out]
    username=0242XXXXXX
    type=peer
    secret=xxxxxx
    qualify=yes
    pedantic=no
    nat=yes
    insecure=very
    host=58.96.1.2
    fromuser=0242XXXXXX
    dtmfmode=rfc2833
    canreinvite=no
    authname=0242XXXXXX
    allow=g729

    [Myfone Line 1]
    username=0915xxxx
    type=peer
    secret=xxxxxx
    qualify=yes
    pedantic=no
    nat=yes
    insecure=very
    host=sip.myfone.com.au
    fromuser=0915xxxx
    dtmfmode=rfc2833
    disallow=all
    canreinvite=no
    authname=0915xxxx
    allow=g729
    allow=ulaw
    allow=alaw

    [Myfone Line 2]
    username=0917xxxx
    type=peer
    secret=xxxxxx
    qualify=yes
    pedantic=no
    nat=yes
    insecure=very
    host=sip00.myfone.com.au
    fromuser=0917xxxx
    dtmfmode=rfc2833
    disallow=all
    canreinvite=no
    authname=0917xxxx
    allow=g729
    allow=ulaw
    allow=alaw

    sip_registrations.conf

    ; do not edit this file, this is an auto-generated file by freepbx
    ; all modifications must be done from the web gui

    register=0915xxxx:{password}@sip.myfone.com.au/0915xxxx
    register=0917xxxx:{password}@sip01.myfone.com.au/0917xxxx
    register=0242XXXXXX:{password}@58.96.1.2/0242XXXXXX

    Thanks for taking a look.

    Mark
     
  7. ramoncio

    Joined:
    May 12, 2010
    Messages:
    1,663
    Likes Received:
    0
    Try to debug the problem.
    In the asterisk console:

    core set debug 99
    core set verbose 99

    Then try to receive a call.
    The console will be too fast to read, so watch whe asterisk logs at /var/log/asterisk/full

    There you should be able to see what is wrong.


    wiseodowl: you should calm down and control your anger.
    This is not a good way to treat new visitors. If you get pissed of, just forget about the thread and keep going.
    Your help has always been very valuable, but you must understand people can get offended by your comments.

    Au Troll: you were the first shouting here and he just was trying to help you. You should read Elastix without tears, it can be very helpful. If you use freePBX the way of doing most things is at the web interface, manually editing files can cause more trouble if you don't know exactly what you are doing. Keep trying and post here your debugs, but also have a look at google to see if you find the solution there.
     
  8. AU Troll

    Joined:
    Jan 16, 2008
    Messages:
    18
    Likes Received:
    0
    i did the debug, but after a lot of searching through all the log files, i finally found that the calls are being rejected because " no compatible codec".

    I have the g729 codecs installed and the log shows them loading in. Calls out via the sip channels are no problem. Music on hold is no problem.

    I have replicated all of this issue again here at home, my installing the 1.3 Elastix on a second system, and sure nuff the calls are rejected because of no compatible codecs. therefore something in the FreePBX stuff has severlly changed someplace. I again have placed the following inthe sip_general_custom.conf where FreePBX says it should be placed:
    allow=g729
    externip=XXX.XXX.XXX.XXX
    localnet=192.168.0.0/255.255.255.0

    So this problem has now boiled down to getting the codecs through properly. A core show translation gives me:

    Translation times between formats (in milliseconds) for one second of data
    Source Format (Rows) Destination Format (Columns)

    g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722
    g723 - - - - - - - - - - - - -
    gsm - - 2 2 2 2 1 3 7 11 - 2 -
    ulaw - 3 - 1 2 2 1 3 7 11 - 2 -
    alaw - 3 1 - 2 2 1 3 7 11 - 2 -
    g726aal2 - 3 2 2 - 2 1 3 7 11 - 1 -
    adpcm - 3 2 2 2 - 1 3 7 11 - 2 -
    slin - 2 1 1 1 1 - 2 6 10 - 1 -
    lpc10 - 3 2 2 2 2 1 - 7 11 - 2 -
    g729 - 4 3 3 3 3 2 4 - 12 - 3 -
    speex - 3 2 2 2 2 1 3 7 - - 2 -
    ilbc - - - - - - - - - - - - -
    g726 - 3 2 2 1 2 1 3 7 11 - - -
    g722 - - - - - - - - - - - - -

    and the g729 is there but is not being brought into play on an incoming call....

    ideas???

    Ramonco - send me a private email please...

    Mark
     
  9. rafael

    Joined:
    May 14, 2007
    Messages:
    1,454
    Likes Received:
    1
    ramoncio said
    Thank you ramoncio you have all the reason. There is no reason to take things personally in this forums. They are made to help each other to have successful implementations of Elastix. For this reason I deleted two posts that where not helpfull to anyone.

    So please be focus on the subject and friendly with each other.

    Best regards,

    Rafael
     
  10. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    Quote:
    from your posts you have variously
    .
    .

    [Out 4]
    disallow=all
    allow=g729
    .
    .


    sip_general_additional.conf

    ; do not edit this file, this is an auto-generated file by freepbx
    ; all modifications must be done from the web gui


    vmexten=*97
    disallow=all
    allow=ulaw
    allow=alaw
    .
    .


    if the context from which the call is placed only allows some g729 then the carrier must support it and you must have a "working" codec, if it is licensable (and the digium one is) and you don't have that license, then . . ..

    I suggest while trouble shooting you allow g711 until your are sure that all parties can use the g729 you are restricting the calls to

    good luck

    (p.s. he codec order is significant, if you have disallow=all after aany allowed codecs, you have in fact redisallowed them)
     
  11. ramoncio

    Joined:
    May 12, 2010
    Messages:
    1,663
    Likes Received:
    0
    Dicko is fully right.
    I also had the same problem, and dicko also helped me.
    In older asterisk versions you could have

    allow=g729
    disallow=all

    But this doesn't work in latest versions. You must first disallow and then allow.

    disallow=all
    allow=g729
     

Share This Page