Forwarding of Call Request to external telephone
From Zenitel Wiki
This article describes how aCall Request can be forwarded to an external telephone via a SIP Gateway. Two types of call forwarding are described:
- Manual Call Forwarding: The Call Forwarding is switched on and off by the operator by dialling a code or pressing a DAK key.
- Automatic Call Forwarding: If the Call Request is not answered within a programmable time, the calling station is connected to the telephone
You can choose to use both types of forwarding, or only one of them.
The call to the telephone will be activated only if there is a free telephone line. If all available lines are busy, the system will retry every 5 seconds until a line is free. If there are several Call Requests at the same time, they will be queued in the AlphaCom and handled one by one. The macro %tin (Trunk In Use) is used to check if there are any free lines.
There will be no redial if the telephone subscriber is busy. Also there is no option for dialling of alternative telephone numbers.
The SIP Gateway can for instance be AudioCodes MP114/118 for analoge phonelines or MV-370 for GSM network. The SIP gateways should be configured as described in the relevant AlphaWiki articles.
Software requirement: AMC 11.2.3.3 or newer.
Manual Call Forwarding
The Call Forwarding is turned on and off from the Queuing Station by forwarding the Call Request to a dummy station. The dummy number can be any station directory number in the exchange that is not in use. In this article 5152 on physical 552 is used as an example.
- Call Forwarding On: Dial 7870 + Dummy Number (e.g. dial 7870 + 5152, or press a DAK key with the programming: I 7870 I 5152).
- Call Forwarding Off: Dial 70
In AlphaPro, Exchange & System -> Events, press Insert to add a new event.
Event 1: This event will start a 1 second timer when the dummy station receives a call request.
Event Owner: | The Dummy Station |
Event type: | 10 - Received Mail |
Subevent: | 0 |
When change to: | ON |
When related to: | All |
Action: | $ST L%1.dir W10 %2.ref |
Event 2: When the timer expires, and if there is a free phone line, the calling station will be connected to the SIP gateway (i.e. dial "0") and the phone number 12345678 will be dialled.
If there are no free lines the timer is restarted, and a new attempt will be made 5 seconds later.
Event Owner: | The Dummy Station |
Event type: | 21 - Event Timeout |
Subevent: | 0 |
When change to: | ON |
When related to: | All |
Action: | IF %op(%tin(100),=,1) (If the line is in use on SIP Trunk node 100...) |
$ST L%1.dir W50 %2.ref (...then restart the timer) | |
STOP | |
ENDIF (If the line is not in use...) | |
$PD %2.ref "0W12345678" (...dial 0, then 1 sec pause, then dial 12345678) | |
$CANM %2.ref L%1.dir (Delete the call request from the dummy station) |
About the expression "IF %op(%tin(100),=,1)":
- 100 = the node number of the SIP Trunk. Change as required.
- 1 = There is one phone line connected to the SIP Gateway. If you are using MP114/118 with multiple lines connected, you need to change this number accordingly.
In the expression "$PD %2.ref "0W12345678"" substitute 12345678 with the wanted phone number.
Automatic Call Forwarding
The programming below will forward the call request to the external telephone if the call request is not answered within 30 seconds. The time can of course be adjusted to suit your requirements.
In AlphaPro, Exchange & System -> Events, press Insert to add a new event.
Event 1: When a Call Request is received at the queuing station, a 30 sec timer is started:
Event Owner: | The Queing Station |
Event type: | 10 - Received Mail |
Subevent: | 0 |
When change to: | ON (When the call request is received) |
When related to: | All |
Action: | $ST L%1.dir W300 %2.ref |
Event 2:
When the timer exipres, and there is a free line on the SIP Gateway, the calling station is connected to the SIP gateway. Else the timer is restarted and a new attempt is made 5 seconds later:
Event Owner: | The Queing Station |
Event type: | 21 - Event Timeout |
Subevent: | 0 |
When change to: | ON |
When related to: | All |
Action: | IF %op(%tin(100),=,1) (If 1 line is in use on SIP Trunk node 100...) |
$ST L%1.dir W50 %2.ref | |
STOP | |
ENDIF | |
$PD %2.ref "0W12345678" (Dial 0, then 1 sec pause, then dial 12345678) | |
$CANM %2.ref L%1.dir (Optional: Delete the call request from the queing station) |
About the expression "IF %op(%tin(100),=,1)":
- 100 = the node number of the SIP Trunk.
- 1 = There is one phone line connected to the SIP Gateway. If you are using MP114/118 with multiple lines connected, you need to change this number accordingly.
In the expression "$PD %2.ref "0W12345678"" substitute 12345678 with the wanted phone number.