Call In Line - Possible


We are looking to upgrade our Call in Line, and ask the person to enter in there Employee ID, and then match it to a database of numbers, and from there take them down a IVR Route…

Has anyone ever done this? And thoughts.

One thing at minimal would be to add the Employee ID to outbound email that sends recording the user.

In a generic form, you can create a DB file of employee numbers and store it on the PBX. The following code could be added to the /etc/extensions_custom.conf file to provide a lookup and transfer to an IVR. This is to give you an idea of what to do and is not a working code snippet that you can cut and paste. Do your research and learn.

exten => s,1,Answer()
same => n,Background(custom/enter_employee_id) ; Prompt for employee ID
same => n,Read(employee_id,beep,4) ; Read the entered employee ID
same => n,Set(employee_ivr=${DB(EMPLOYEES/${employee_id}/ivr_extension)}) ; Retrieve IVR extension from the database

; Check if the employee ID is valid
same => n,GotoIf($["${employee_ivr}" != ""]?verified:invalid)

; Invalid employee ID
same => n(invalid),Playback(custom/invalid_employee_id)
same => n,Hangup()

; Valid employee ID
same => n(verified),Goto(from-internal,${employee_ivr},1)

There are several examples in the forum using Dynamic routes (dynroutes) to process user input in various ways, including doing database searches and branching the call based on the lookup result.

@kenn10’s approach will also get you started, but I will point out that it’s inappropriate to use and exten of ‘s’ in the from-internal-custom context, it would need to be in its own context, or have an explicitly defined dialstring.


This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.