Trixbox Multiple Users
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
If we use the trixbox web GUI, we can only set one outbound route and a vBuzzer trunk. All internal SIP clients share the single vBuzzer user to place outgoing calls. Because vBuzzer service allows each account to place only one outgoing call at a time. This tutorial shows how to configure multiple vbuzzer accounts on Trixbox to place concurrent calls.
Step1. Install and configure the trixbox according to this Trixbox Configuration Guide
By using the trixbox web GUI, we can configure one outbound route, one vBuzzer trunk and two internal SIP clients.
Step2. Design the topology architecture
SIP clients register on the trixbox. The trixbox registers on the vBuzzer system. SIP clients can call each other by the trixbox. Any SIP client can dial out by the trixbox routing outgoing calls to vBuzzer. Any incoming call from vBuzzer system can be directed to a SIP client through the Trixbox. The topology is shown below.
Trixbox2-topology.jpg
In the picture, we illustrate two vbuzzer users which are vbuzzerusername1 with a password (vbuzzerpassword1) and vbuzzerusername2 with a password (vbuzzerpassword2), and two trixbox users which are 2000 with a password (2000) and 2001 with a password (2001). Several calling scenarios are described below.
A. An internal call can be placed between 2000 and 2001. All internal calls are switched by the trixbox.
B. When an incoming call of the vbuzzerusername1 from vBuzzer system comes, an announcement will play back. For example the announcement is “This is vBuzzer. For sales, press 1; for billing, press 2. Thanks for your call”. If the extension number is 1, this
incoming call will be directed to 2000. If the extension number is 2, this incoming call will be directed to 2001.
C. An outgoing call placed by 2000 will be forwarded to the vBuzzer system as placed by
the vbuzzerusername1. An outgoing call placed by 2001 will be forwarded to the vBuzzer system as placed by the vbuzzerusername2.
Step3. Set up two vBuzzer trunk by using two vbuzzer users, such as vbuzzerusername1 and vbuzzerusername2. Notice to fill in the circled items.
Trixbox2-trunk-vbuzzer1.jpg
Trixbox2-trunk-vbuzzer2.jpg
Step4. Set up two outbound routes, first_outside and second_outside.
Notice those circled items. The outbound route first_outside uses the trunk SIP/vbuzzer1. The outbound route second_outside uses the trunk SIP/vbuzzer2.
Trixbox2-first-outside.jpg
Trixbox2-second-outside.jpg
Step5. Modify the default context of the two extensions 2000/2000 and 2001/2001.
Please notice those circled items. The extension 2000/2000 uses the context from-internal-vbuzzer1. The extension 2001/2001 uses the context from-internal-vbuzzer2. The from-internal-vbuzzer1 and from-internal-vbuzzer2 are custom contexts. We shall create them in the following steps.
Trixbox2-extension-2000.jpg
Trixbox2-extension-2001.jpg
Step 6. Add two custom contexts from-internal-vbuzzer1 and from-internal-vbuzzer2.
Edit /etc/asterisk/extensions.conf. Copy the context from-internal and paste twice. One paste is changed to from-internal-vbuzzer1. The other paste is changed to from-internal-vbuzzer2. In the custom context from-internal-vbuzzer1, the line ‘include => from-internal-xfer’ is changed to ‘include => from-internal-xfer-vbuzzer1’. In the custom context from-internal-vbuzzer2, the line ‘include => from-internal-xfer’ is changed to ‘include => from-internal-xfer-vbuzzer2’.
;——————————————-Begin——————————————
—————–
[from-internal-vbuzzer1]
include => from-internal-xfer-vbuzzer1
include => bad-number
[from-internal-vbuzzer2]
include => from-internal-xfer-vbuzzer2
include => bad-number
;——————————————-End——————————————–
——————
Step7. Add two custom contexts from-internal-xfer-vbuzzer1 and from-internal-xfer-vbuzzer2. Edit /etc/asterisk/extensions.conf. Copy the context from-internal-xfer and paste twice. One paste is changed to from-internal-xfer-vbuzzer1. The other paste is changed to from-internal-xfer-vbuzzer2. In the custom context from-internal-xfer-vbuzzer1, the line ‘include=> from-internal-additional’ is changed to ‘include => from-internal-additional-vbuzzer1’.
In the custom context from-internal-xfer-vbuzzer2, the line ‘include => from-internal-additional’ is changed to ‘include => from-internal-additional-vbuzzer2’.
;;————————————Begin————————————————
————–
[from-internal-xfer-vbuzzer1]
; applications are now mostly all found in from-internal-additional in _custom.conf
include => parkedcalls
include => from-internal-custom
;allow phones to dial other extensions
include => ext-fax
;allow phones to access generated contexts
;
; MODIFIED (PL)
;
; Currently the include for findmefollow is being auto-generated before ext-local which is
the desired behavior.
; However, I haven’t been able to do anything that I know of to force this. We need to
determine if it should
; be hardcoded into here to make sure it doesn’t change with some configuration. For now I
will leave it out
; until we can discuss this.
;
include => ext-local-confirm
include => findmefollow-ringallv2
include => from-internal-additional-vbuzzer1
; This causes grief with ‘#’ transfers, commenting out for the moment.
; include => bad-number
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
[from-internal-xfer-vbuzzer2]
; applications are now mostly all found in from-internal-additional in _custom.conf
include => parkedcalls
include => from-internal-custom
;allow phones to dial other extensions
include => ext-fax
;allow phones to access generated contexts
;
; MODIFIED (PL)
;
; Currently the include for findmefollow is being auto-generated before ext-local which is
the desired behavior.
; However, I haven’t been able to do anything that I know of to force this. We need to
determine if it should
; be hardcoded into here to make sure it doesn’t change with some configuration. For now I
will leave it out
; until we can discuss this.
;
include => ext-local-confirm
include => findmefollow-ringallv2
include => from-internal-additional-vbuzzer2
; This causes grief with ‘#’ transfers, commenting out for the moment.
; include => bad-number
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
;——————————————-End——————————————–
—————
Step8. Add two custom contexts from-internal-additional-vbuzzer1 and from-internal-additional-vbuzzer2.
Edit /etc/asterisk/extensions_additional.conf. Copy the context from-internal-additional and paste twice. One paste is changed to from-internal-additional-vbuzzer1. The other paste is changed to from-internal-additional-vbuzzer2. In the custom context from-internal-additional-vbuzzer1, the line ‘include => outbound-allroutes’ is changed to ‘include =>outbound-allroutes-vbuzzer1’. In the custom context from-internal-additional-vbuzzer2, the line ‘include => outbound-allroutes’ is changed to ‘include => outbound-allroutes-vbuzzer2’.
;——————————————-Begin——————————————
—————
[from-internal-additional-vbuzzer1]
include => from-internal-additional-custom
include => app-gabcast
include => ext-queues
include => app-dictate-record
include => app-dictate-send
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-findmefollow
include => fmgrps
include => app-recordings
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-daynight
include => app-daynight-toggle
include => app-dialvm
include => app-vmmain
include => app-dnd-off
include => app-dnd-on
include => app-languages
include => ext-meetme
include => ext-paging
include => vmblast-grp
include => ext-group
include => grps
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => app-blacklist
include => app-pbdirectory
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local
include => outbound-allroutes-vbuzzer1
exten => h,1,Hangup
; end of [from-internal-additional-vbuzzer1]
[from-internal-additional-vbuzzer2]
include => from-internal-additional-custom
include => app-gabcast
include => ext-queues
include => app-dictate-record
include => app-dictate-send
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-findmefollow
include => fmgrps
include => app-recordings
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-daynight
include => app-daynight-toggle
include => app-dialvm
include => app-vmmain
include => app-dnd-off
include => app-dnd-on
include => app-languages
include => ext-meetme
include => ext-paging
include => vmblast-grp
include => ext-group
include => grps
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => app-blacklist
include => app-pbdirectory
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local
include => outbound-allroutes-vbuzzer2
exten => h,1,Hangup
; end of [from-internal-additional-vbuzzer2]
;———————————————–End—————————————-
—————-
Step9. Add two custom contexts outbound-allroutes-vbuzzer1 and outbound-allroutes-vbuzzer2.
Edit /etc/asterisk/extensions_additional.conf. Copy the context outbound-allroutes and paste twice. One paste is changed to outbound-allroutes-vbuzzer1. The other paste is changed to outbound-allroutes-vbuzzer2. In the custom context outbound-allroutes-vbuzzer1, the line ‘include => outrt-002-second_outside’ is deleted. In the custom context outbound-allroutes-vbuzzer2, the line ‘include => outrt-001-first_outside’ is deleted.
;————————————————-Begin————————————
—————–
[outbound-allroutes-vbuzzer1]
include => outbound-allroutes-custom
include => outrt-001-first_outside
exten => foo,1,Noop(bar)
; end of [outbound-allroutes-vbuzzer1]
[outbound-allroutes-vbuzzer2]
include => outbound-allroutes-custom
include => outrt-002-second_outside
exten => foo,1,Noop(bar)
; end of [outbound-allroutes-vbuzzer2]
;————————————————–End————————————-
—————-
Popularity: 15% [?]





