InterConnecting Elastix and 3CX via SIP Trunk

Discussion in 'General' started by arccgi, Mar 26, 2011.

  1. arccgi

    Joined:
    Sep 3, 2010
    Messages:
    2
    Likes Received:
    0
    I've seen articles on how to connect using IAX, but never a true SIP only inter connect. Well I spent several days trying to work through this and finally resolved it and this is working solution in production.

    Setup:
    Office 1 - Elastix 1.6.2-27
    Extensions 200-399 range
    PRI/T1 connectivity (want to use this from Office 2)

    Office 2 - 3CX version 9
    Extensions 400-499 range
    No PSTN connectivity

    Need to dial extension-to-extension both intra and inter offices.
    Need to dial outside with different CallerID for each site (only works using PRI type service).

    Elastix (Office1):
    1. Create Trunk leaving everything blank except these:

    Trunk Name: Office2
    PEER Details:
    type=friend
    insecure=very
    host=<Office2 3CX ip>
    context=from-internal

    Submit

    2. Create Outbound Route
    Route Name: ToOffice2
    Route Password: <Blank>
    Intra Company Route: <checked>
    Dial Patterns: 4XX <or whatever your extension range is>
    Trunk Sequence: SIP/Office2

    Submit/Apply Configuration Changes


    3CX (Office2):
    1. Create new VOIP Provider
    Name of Provider: Office1
    Select "Generic SIP Trunk"

    Next

    SIP server hostname or IP: <Office1 Elastix ip>

    Next

    External Number: DID or CallerID any unique number
    Authentication ID: same
    Authentication password: <Blank>
    Maximum simultaneous calls: 1 or more, I used '50'

    Next

    Office Hours: Choose whichever is appropriate
    Check "Same as Out of Office hours" box (if you want)

    Next

    Starts "Outbound Rule" wizard automatically:

    Rule Name: <toOffice1>
    Apply this rule to these calls:
    Calls from extension(s): 400-499
    Make outbound calls on:
    Route 1: Office1
    Strip Digits: 0
    Prepend: <Blank>

    Finish

    2. Open VOIP Providers | Office1
    Select Tab [Source ID]
    Check "Source identification by DID" box
    SIP Field containg DID numbers: "Request Line URI : User Part" (Default)
    Select "Add Mask" button
    Source ID mask: *

    Select Tab [DID]
    Enter each extension number here <e.g.: 400, 401, 405, etc.>

    OK

    Done.

    Go to Ports/Trunks Status and make sure it is green, if it is then start testing.

    CALLER ID Fix:
    Set main Zap Trunk to Office2 (3CX) desired CallerID info.
    Set each extension in Office1 (Elastix) callerID info to desired CallerID for that office, individually controlled only at Elastix end becuase it had the PRI trunk.

    Also set each extension's "Outbound Caller ID" in Office2 (3CX) to the desired Caller ID for internal calls.
    Go to: Extension Number <400> and select Tab [Other], fill in the Outbound Caller ID (we used First Name).

    Now when calls are internal in either office or from office to office it shows the proper Caller ID info.


    I can only say this took way too long to figure out, and I consider myself an expert level Google master.
    There has not been any instructions on how to connect an asterisk system to a 3CX system using SIP Trunks.
    I found an IAX connection article, which doesn't help since 3CX doesn't talk IAX, only SIP.

    I hope this will help you connect your systems cleanly and in under 10 minutes!!

    Cheers,
    Adam
     
  2. fmvillares

    Joined:
    Sep 8, 2007
    Messages:
    1,785
    Likes Received:
    0
    yeap but with total insecurity between the 2 sites ... if not using a vpn u r putting all your comm infraestructure at risk
     
  3. arccgi

    Joined:
    Sep 3, 2010
    Messages:
    2
    Likes Received:
    0
    So true, I do have a site-to-site VPN setup between these offices. Mainly because I only want internal IPs to access the servers, protecting the server as best I can from abuse.

    Thanks.

    Adam
     
  4. blessendor

    Joined:
    Jun 6, 2012
    Messages:
    1
    Likes Received:
    0
    Thank you for tutorial.
    But it my case I got Error when trying to dial 3CX users extensions

    Failed to authenticate on INVITE to '"ElastixUser" <sip:65@192.168.88.7>;tag=as2f9389f5'
     
  5. gavalmart

    Joined:
    Dec 6, 2012
    Messages:
    1
    Likes Received:
    0
    Hello.

    Thanks to this tutorial I have been able to interconnect our Elastix plant with 3CX, mainly to use the Call Center module of 3CX.

    However, I have the following problem.

    Our Elastix extensions can not dial the 3CX extensions, but the 3CX can dial the Elastix ones.

    These are some of the messages generated when trying to call from an Elastix extension to a 3CX one:

    == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s@macro-dialout-trunk:20] NoOp("SIP/2003-00000109", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 20") in new stack
    -- Executing [intracompany@macro-outisbusy:1] Playback("SIP/2003-00000109", "all-circuits-busy-now&pls-try-call-later, noanswer") in new stack
    -- <SIP/2003-00000109> Playing 'all-circuits-busy-now.ulaw' (language 'es')
    -- <SIP/2003-00000109> Playing 'pls-try-call-later.ulaw' (language 'es')

    Thanks in advance for your help.
     

Share This Page