InterConnecting Elastix and 3CX via SIP Trunk

arccgi

Joined
Sep 3, 2010
Messages
2
Likes
0
Points
0
#1
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
 

fmvillares

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

arccgi

Joined
Sep 3, 2010
Messages
2
Likes
0
Points
0
#3
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
 

blessendor

Joined
Jun 6, 2012
Messages
1
Likes
0
Points
0
#4
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'
 

gavalmart

Joined
Dec 6, 2012
Messages
1
Likes
0
Points
0
#5
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.
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,902
Messages
130,887
Members
17,565
Latest member
omarmenichetti
Top