dial plan improvements
First - thank you claudiopizzillo for the brilliant work. This code could open a whole new market for asterisk!!!
I have installed it in a 50 room hotel in California and where PBXIAF is working great so far I am having some problems with this module. No different then what others have seen yet I am hopeful to work with others to get them all resolved.
I have re-written the dialplan code to enable the following:
a)Without check-in
a.Internal calls
b.Local calls
c.Toll free calls
b)With check-in it adds:
a. international and long distance calls
c)A ring group (“0”) to be called instead of an extension when the guest trys to make a long distance call without being check-in.
according to the hotel, 99 times out of a 100 no check-in is required since we have free local and toll free calling. We also redirect 411 to goog411.
Here is the modified code.
[from-internal-custom]
;lets guests call other rooms without being checked in
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _XXX,n,Hangup()
;lets guests call 7 digit local numbers without being checked in
exten => _NXXXXXX,1,Goto(outbound-allroutes,${EXTEN},1)
exten => _NXXXXXX,n,Hangup()
;lets guests call toll free numbers without being checked in
exten => _1800NXXXXXX,1,Goto(outbound-allroutes,${EXTEN},1)
exten => _1800NXXXXXX,n,Hangup()
exten => _1888NXXXXXX,1,Goto(outbound-allroutes,${EXTEN},1)
exten => _1888NXXXXXX,n,Hangup()
exten => _1877NXXXXXX,1,Goto(outbound-allroutes,${EXTEN},1)
exten => _1877NXXXXXX,n,Hangup()
exten => _1866NXXXXXX,1,Goto(outbound-allroutes,${EXTEN},1)
exten => _1866NXXXXXX,n,Hangup()
exten => _X.,1,Set(result=${CURL(
http://***IP ADDRESS of PBXIAF***/hotel/checkuser.php?Ext=${CALLERID(num)})})
exten => _X.,n,NoOp(Results: ${result})
exten => _X.,n,GotoIf($["${result}" = "OK"]?OK)
exten => _X.,n,GotoIf($["${result}" = "KO"]?KO)
exten => _X.,n(OK),Goto(outbound-allroutes,${EXTEN},1)
exten => _X.,n,Hangup()
;call front desk if not checked in
exten => _X.,n(KO),Goto(ext-group,0,1) ; used for ring groups
;exten => _X.,n(KO),Dial(SIP/*** FRONT DESK EXT ***) ; used for just one extension
exten => _X.,n,Hangup()
if anyone has a better way of doing this please let me know. – I just learned dial plans yesterday.
If anyone has questions I will do my best to answer them.
Of course this is for the US market but could be modified to other countries…
NEXT STEPS (any help much appreciated on these next things)
1)Fix the rate management code to work with the latest version of PBXIAF -- not calculating any costs for me right now
2)Have it show the total phones charge for a room when you check that room out. (to many steps to do right now when a guest is waiting to check-out -- not simple == front desk staff will not use it)
3)Dumb down the asterisk VM system to be very simple for hotel guests (e.g. don’t allow custom greetings, don’t allow folders, etc…) Has anyone done this? If so please help!!
4)If a room dials 911 and the police arrives, to be able to quickly let them know which room dialed 911. Maybe a new page in the hotel module or??? Again anyone have a solution for this?
NICE TO HAVE BUT NOT A MUST (my opinion of course)
1)Guest room status (clean or dirty)
2)Feature code to check in/out
3)Serial interface to transfer billing info and room status to the property management system
Everyone – lets get this thread active again and get solution to the above and kick Mitel’s butttttt
Ciao