Эта страница является
переводом страницы
SIP Asterisk. Перевод выполнен на 100%.
Asterisk FreePBX
a free software SIP server with flexible functions
Installing Asterisk FreePBX
1 Download Asterisk FreePBX here.
The installation package is an .iso image file with Linux OS and Asterisk.
2 Use the manual on installing.
Setting Asterisk FreePBX
1 Go to the web-interface of the Asterisk server using the IP address, set during installation. Click the "FreePBX Administration" button.
2 Enter the admin's login and password.
3 Admin panel (dashboard) of the Asterisk server opens.
4 Click "Extensions" in the "Applications" menu.
5 In IP telephony extensions are unique numbers where calls are made. SIP numbers in the intercom network are also considered extensions.
Create a SIP subscriber by clicking "+Add New PJSIP Extension" or "+Add New Chan_SIP Extension".
6 Set the main parameters of a SIP subscriber.
- User Extension: SIP number,
- Display Name: Caller ID,
- Secret: password.
7 If necessary activate voice mail in the "Voice Mail" tab. Set a password (only numbers).
If a SIP subscriber misses a call, the auto message offers to leave a voice message after a tone. After it a SIP subscriber can listen to messages by dialing *97 123456 or *98 990 123456, where 123456 is a password of the voice mail and, 990 is a SIP number.
If you select No in the Require From Same Extension parameter, it's enough to dial *97 (without a password) to listen to voice mail.
8 You can activate and set call forwarding to several other SIP numbers in the "Find Me / Follow Me" tab. A call is forwarded is there is no connection with the current SIP number or if there is no answer for a long time.
- Initial Ring Time: time of the first attempt to reach the main SIP number,
- Ring Strategy: strategy of call forwarding:
- ringallv2 - call to the main number for the time set in Initial Ring Time, then call to all numbers for the time set in Ring Time, without breaking connection with the main number,
- ringall - call the main number then hang up and call all numbers,
- hunt - call each number in the list one after another,
- memoryhunt - call the first number in the list, then call the first and the second numbers, then call the first, the second and the third numbers, etc.
- firstavailable - call the first available number,
- firstnotonphone - call only the first number that is in on hook state,
- -prim - the same strategies, but if the main number is busy, a call is not forwarded.
- Ring Time: the time of call during call-forwarding,
- Follow-Me List: a list of numbers for call-forwarding.
9 See the from-internal context in the "Advanced" tab. Then click the "Submit" button in the right bottom corner to save a SIP subscriber.
10 You can create several SIP subscribers this way. Then click the "Apply Config" red button in the top right corner for the changed to come in effect on the Asterisk server.
11 You can set sending Push-notifications to control panels where i3 pro is minimized. Use the manual to do it.
Working in iRidium studio
1 Add a driver and set it as shown below.
Setting Video Intercom
Video intercom is set in iRidium studio like SIP driver, but another SIP ID (Login) is used.
Manuals on setting concrete models of video intercoms can be found here.
Setting Call Attempts for Asterisk
1 2. Specify the context name - from-internal.
2 Add the following strings to from-internal context in the extensions.conf file
;----------------------------------------------------------------------
; start
; if an incoming call comes from 2ХХХ, set the variable value nDialIteration=0
exten => _2XXX,1,Set(nDialIteration=0)
; сделай Ringing
exten => _2XXX,2,Ringing()
; dial
; make a call to EXTEN number (number where to call)
exten => _2XXX,n(dial),Dial(PJSIP/${EXTEN}, 10, t)
; if ANSWER, go to enofcall
exten => _2XXX,n,GotoIf($["${DIALSTATUS}"="ANSWER"]?endofcall)
; if NOANSWER, go to redial
exten => _2XXX,n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?redial)
; if CANCEL, go to enofcall
exten => _2XXX,n,GotoIf($["${DIALSTATUS}"="CANCEL"]?endofcall)
; if BUSY, go to enofcall
exten => _2XXX,n,GotoIf($["${DIALSTATUS}"="BUSY"]?endofcall)
; if CONGESTION, go to redial
exten => _2XXX,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?redial)
; if CHANUNAVAIL, go to redial
exten => _2XXX,n,GotoIf($["${DIALSTATUS}"="CHANUNAVAIL"]?redial)
; redial
; increment of nDialIteration to +1
exten => _2XXX,n(redial),Set(nDialIteration=$[${nDialIteration}+1])
; wait 1 sec
exten => _2XXX,n,Wait(1)
; if variable value is =30, do endofcall, otherwise do dial
exten => _2XXX,n,GotoIf($["${nDialIteration}"="30"]?endofcall:dial)
; call end
; end the call
exten => _2XXX,n(endofcall),Hangup()
Demo project
A project for a control panel can be launched in the Emulator.