Friday 3 September 2010

How to connect Skype to 3CX [Part 1]




3CX installed on PC and Skype installed on the same PC.


We have 3CX <> SIPTheeSkype <> Skype Client <> Skype Network.







Notice that you may set up SIPThee Skype on different machine, but SIPTheeSkype and Skype client must be installed on the same PC. You can also run SIPTheeSkype on Linux box...




So we need SIPTheeSkype http://www.mhspot.com/siptheeskype_download.php

Java Environment http://java.sun.com/javase/downloads/index.jsp

and the latest Skype client


The screenshots are based on Russian Skype and Windows versions but do not fear


Creating 3CX to Skype trunk


1. In 3CX create new VoIP provider. VoIP Providers > Add Provider


Name of Provider - I choose Skype

Choose a provider - Generic SIP Trunk

SIP Server hostname or IP - 127.0.0.1

SIP Server Port - 5070 Notice that!

External Number - in my 3CX configuration it was 10008

Authentication ID - 10008 (my case)

Authentication Password 10008 Remember these number, ID and password. We will use them in SIPTheeSkype configuration!

Maxmum simultaneous calls - 1 Skype client cannot support more than one call at time


You can also create outbound rule, but I will not create it now.


In Advanced settings for VoIP Provider Skype

Check Supports Re-Invite and Supports 'Replace'

Uncheck PBX Delivers Audio

Set Require registration for to Do not require




Important addition to 3CX trunk settings. In Advanced set Require registration for to Do not require.





If it not set to Do not require the trunk will fail after some time.


The VoIP line is ready.


2. Unzip SIPTheeSkype in folder siptheeskype as author recommends. I used C:\siptheeskype

Copy contents of child samples folder (c:\siptheeskype\samples) to siptheeskype root.


3. Now we need to configure SIPTheeSkype SIP Server. In Notepad open file siptheeskype.cfg in siptheeskype folder.


Search for strings


Code: Select all


#Sample config with NO registration


and comment out all underlying lines up to


Code: Select all


# --- end of NO registration example.


After that insert 3CX config block


Code: Select all


#3CX registration - comment out NO registration info above first and uncomment the following.

host_port=5070
contact_url=sip:10008@127.0.0.1:5070
from_url="10008"
username=10008
passwd=10008
do_register=yes

# --- end of 3CX Reg ---






This means: 3CX from URI sip:10008@127.0.0.1:5060 must register on SIP server (VoIP provider) SIPTheeSkype, sending request to sip:10008@127.0.0.1:5070 with username and password. The SIP port number of SIPTheeSkype obviously must be different from 5060 to avoid conflict with 3CX installed on the same machine. By default it 5070.


Also I advise to disable unnecessary codecs.


Comment out


Code: Select all


audio_codec=PCMU,PCMA,GSMTRI,ILBC,SPEEX


and


Code: Select all


audio_frame_size=240,240,160,240,160


and insert


Code: Select all


audio_codec=PCMU,PCMA
audio_frame_size=240,240


4. Now we need to config SIPTheeSkype dialing rules (or Dialplan, or Address Book as it called in some VoIP hardware).


Open SipToSkypeAuth.props file and set SIP to Skype dialing rules. Comment out bottom line in the file and insert


Code: Select all


*,*,*,calleeid


This rule means that SIPTheeSkype will receive calls from all network (only internal network, I hope ) clients and simply pass dialed number (calleeid) to the Skype. In the Skype interface you must assign this number to some Skype buddy. I will explain this later.


Open SkypeToSipAuth.props file and set Skype to SIP dialing rules. Comment out bottom line in the file and insert


Code: Select all


*,sip:10008@127.0.0.1:5060



This rule means that SIPTheeSkype will receive calls from any Skype user, and transfer it on SIP URI sip:10008@127.0.0.1:5060, i.e. on 3CX line 10008.


Of course, you can set another dialplan rules according to you needs, but I used the most universal.


5. Now start Skype and after that start SipTheeSkype_win.bat. You will see Skype message that java.exe want to use Skype. Allow it.








Now be sure to allow it second time in the Skype interface.







Only after that switch to window where SipTheeSkype_win.bat is running ant notice succefull registration ( i.e. 3CX is registered on SIPTheeSkype) and other helpful information.







Testing 3CX to Skype trunk


First of all the SipTheeSkype_win.bat must be running all the time while trunk exists.


Lets define that we use 3CX with two digit numbers (two digit dialplan) and assign to Skype Extensions (our Skype users) numbers from 50 to 59.

So I created outbound rule stating that all two digit calls starting from 5 must go to the Skype gateway.





Also I assigned Speed Dial Number 55 to Skype Test Call in the Skype interface.

Now you can dial 55 on you SIP hardphone and hear clear and loud Skype Test woman greeting! Notice - the sound must be nice and clear, but not distorted.




Also dial from another Skype account to you Skype Trunk account. If inbound rule in 3CX is set so that call goes to you SIP hardphone - you will see the Skype account name on phone screen and can identify the Skype caller!


Conclusion



I intentionally not considered SkypeOUT dialing rules (SkypeOutDialingRules.props file) because, on my opinion, you will not deal with Skype in this case, but you will prefer "normal" SIP VoIP operator. It is far more native to 3CX Personally I can recommend http://www.justvoip.com and http://www.voxbone.com. Also I don't use Skype to SIP Pin authentication (SipOutDialingRules.props file) because it is useless in 3CX.

So now you can place Skype Me button on your Website and connect two worlds for your profit.





Related Articles
How to connect Skype to 3CX - [Part 2]
Configuring Sip to Skype gateway - 3CX Gateway for Skype [Part 1]
Configuring Sip to Skype gateway - 3CX Gateway for Skype [Part 2]

0 comments:

Post a Comment