Grandstream GRP26XX Carrier-Grade IP phones support the VPK (“Virtual Multi-Purpose Keys”) feature to add more flexibility and provide better user experience using Multi-Purpose Keys modes.
With the VPK feature design, line keys can be assigned with multiple functions. Users have also the ability to add more VPKs which will be displayed on different screens. The screens are dynamically added to match the extra VPKs, and incrementally indexed on the top of the main screen (1 to 4) until reaching the maximum number of supported VPKs.
Using VPK, users will be able to monitor extensions, use speed dial numbers, send DTMF during calls and more from their phone screens directly; switching between screens will show configured VPK and bring more flexibility to user’s experience.
If using standard MPK on a GRP2613 IP phone, for instance, which supports 6-line keys, customers can use 1 LINE key for the main SIP accounts and the 5 others (not including built-in MPKs) can be used for monitoring/speed dial or any other available features using that account. While using VPK feature on the same GRP2613, customers can configure the same LINE key with up to 4 features virtually mapped on different screens, as an example, Line 1 key can be configured as LINE on the first screen, Speed Dial on screen 2, BLF on screen 3 and Call Park on screen 4.
Below screenshot shows the 3rd screen page of the GRP2613.

Fixed and Dynamic VPK
Fixed VPK
Fixed VPKs are the hard line keys on each phone model; their default mode is “Line” and support all other modes (BLF, Speed Dial…).
Each phone model has a specific number of hard line keys limiting the number of supported Fixed VPK. For example, GRP2613 has 6 Line keys allowing to support 6 Fixed VPKs.
Dynamic VPK
Dynamic VPK are virtual keys that can be added by users.
Each phone model has a specific number of allowed Dynamic VPK, depending on number of hard line keys and screens. For instance, GRP2613 has 6 hard keys, number of supported VPKs (Fixed and Dynamic) is 24 VPK = 6 (Fixed VPK) x 4 (screens), available Dynamic VPKs is 18 VPK = 24 VPK – 6 hard keys.
The screens are dynamically added to match the extra VPKs, and incrementally indexed on the top of the main screen (1 to 4) until reaching the maximum number of supported VPKs.
Fixed/Dynamic VPK per Phone Model
The table below shows how many Fixed/Dynamic VPKs each GRP model support.
GRP2612(P/W) | GRP2613 | GRP2614 | GRP2615 | GRP2616 | GRP2604(P) | GRP2624 | GRP2634 | |
Fixed VPK | 4 | 6 | 4 | 10 | 6 | 6 | 8 | 8 |
Dynamic VPK | 12 | 18 | 12 | 30 | 18 | 6 | 24 | 24 |
Total VPK | 16 | 24 | 16 | 40 | 24 | 12 | 32 | 32 |
VPK Configuration
To configure/add/edit or delete VPK, follow below steps:
- Access Web GUI of GRP phone.
- Go to Settings 🡪 Programmable Keys 🡪 Virtual Multi-Purpose Keys.

- Configure Fixed or Dynamic VPKs as follows:
- Fixed VPK:
- Press Edit VPK button
- Select mode to use from Mode dropdown list.
- Select Account# from Accounts dropdown list.
- Enter a description text in Description field (optional).
- Enter the value sequence for each mode in Value field if required.
- Press Save button to save your configuration (Reset button allows to reset all fields to default values).
- Press Save VPK to apply changes to VPK.

Example:
Customer’s GRP2613 has a SIP account registered on Account 1 and needs to monitor extension 1000.
Below values needs to be used:
- Mode: Busy Lamp Field (BLF)
- Accounts: Account 1 (selected)
- Description: BLF_1000 (optional)
- Value: 1000
- Dynamic VPK
- Press Add VPK to create a new Dynamic VPK.

- Select mode to use from Mode dropdown list.
- Select Account# from Accounts dropdown list.
- Enter a description text in Description field (optional).
- Enter the value sequence for each mode in Value field if required.
- Press Save button to save your configuration (Reset button allows to reset the VPK to default value).
- Press Save VPK to apply changes to VPK.

Example:
Customer’s GRP2613 has a SIP account registered on Account 1 and wants to add a Speed Dial for extension 1001.
Below values needs to be used:
- Mode: Speed Dial
- Accounts: Account 1 (selected)
- Description: SP_1001 (optional)
- Value: 1001
On GRP2604(P) Only :
To configure/add/edit or delete VPK, follow below steps:
- Access Web GUI of GRP2604 phone.
- Go to Programmable Keys 🡪 Virtual Multi-Purpose Keys.

- Configure Fixed or Dynamic VPKs as follow:
- Fixed VPK
- Select mode to use from Mode dropdown list.
- Select Account# from Accounts dropdown list.
- Enter the value sequence for each mode in Value field if required.
- Enter the name to be associated with the MPK in Label field.
- Press Save button to save your configuration (Reset button allows to reset all fields to default values).
- Press Save VPK to apply changes to VPK.

Example:
Customer’s GRP2604(P) has a SIP account registered on Account 1 and needs to monitor extension 3000.
Below values needs to be used:
- Mode: Busy Lamp Field (BLF)
- Accounts: Account 1 (selected)
- Value: 3000
- Label: Alex (optional)
- Dynamic VPK
- Press Add VPK to create a new Dynamic VPK.

- Select mode to use from Mode dropdown list.
- Select Account# from Accounts dropdown list.
- Enter the value sequence for each mode in Value field if required.
- Enter the name to be associated with the MPK in Label field.
- Press Save button to save your configuration (Reset button allows to reset all fields to default values).
- Press Save VPK to apply changes to VPK.

Example:
Customer’s GRP2604 has a SIP account registered on Account 1 and wants to add a Speed Dial for extension 3001.
Below values needs to be used:
- Mode: Speed Dial
- Accounts: Account 1 (selected)
- Value: 3001
- Label: Diego (optional)
VPK Modes and Indication for GRP26XX
Fixed VPK support all available modes (32 modes), while Dynamic VPK doesn’t support Default, Shared and None modes (30 modes). The following table provides a description of each mode as well as state, icon, and LED status.
VPK Mode | Description | State | Icon | LED Status |
---|---|---|---|---|
Speed Dial | Speed Dial mode allows to set a key for one touch dialing; configured number will be dialed once VPK is pressed. Select the Account to dial from and enter the Speed Dial number to be dialed in the Value field or enter the IP address to set the Direct IP call as Speed Dial. | Account Unregistered | ![]()
| OFF |
Account Registered | ![]()
| ON | ||
Busy Lamp Field (BLF) | Busy Lamp Field (BLF) mode allows to monitor status (available, ringing, busy) of an extension. Select the Account to monitor the BLF status. Enter the extension number in the Value field to be monitored. | Offline, Unknown | ![]()
| OFF |
Terminated | ![]()
| GREEN | ||
Ringing (Early) | ![]()
| Flashing RED | ||
Trying | ![]()
| Flashing RED | ||
Confirmed | ![]()
| RED | ||
Speed Dial Via Active Account | Speed Dial via active account mode allows to set a key for one touch dialing; configured number will be dialed once VPK is pressed using specified account if available, otherwise, first available account will be used to dial out. Select the Account to dial from and enter the Speed Dial number to be dialed in the Value field or enter the IP address to set the Direct IP call as Speed Dial. | No state changes | ![]()
| OFF |
Dial DTMF | Dial DTMF allows customers to send digits while in communication, for instance, when dialing to an IVR, users can set Dial DTMF Key to send digits to the IVR. Enter a series of DTMF digits in the Value field to be dialed during the call. | No state changes | ![]()
| OFF |
Voice Mail | Allows access to user’s voice mail by pressing configured VPK. Select Account and enter the Voice Mail access number in the Value field. | Account not registered | ![]()
| OFF |
Account Registered (No new voice mail) | ![]()
| OFF | ||
Account Registered (voice mail available) | ![]()
| OFF | ||
Call Return | Allows users to dial last answered call by pressing configured VPK. The Value field should be left blank. This option is not binding to the account and the call will be returned based on the account with the last answered call. | No state changes | ![]()
| OFF |
Transfer | Allows to set a destination number to transfer calls to it (blind transfer) by pressing configured VPK. Select Account, and enter the number in the Value field to be transferred during the call. | Account Unregistered | ![]()
| OFF |
Account Registered | ![]()
| OFF | ||
Call Park | This feature allows to park/pick up the call, and can be also used to monitor parking lots via VPK button’s LED. Select Account, and enter the call park extension in the Value field to park/pick up the call. Notes:
| Account Unregistered | ![]()
| OFF |
Account Registered | ![]()
| OFF | ||
Intercom | Allows to set a VPK as intercom button to a specific destination with auto-answer instruction. When the call is initiated, SIP INVITE sent towards destination extension (via SIP server) will include Alert-info header with Auto-answer=0 parameter. Select Account, and enter the extension number in the Value field to do the intercom. | Account Unregistered | ![]()
| OFF |
Account Registered | ![]()
| OFF | ||
LDAP Search | This option is to narrow the LDAP search scope.
For example: If users set VPK as “LDAP Search” for “Account 1”, and set filters: Description -> ou=video,ou=SZ,dc=grandstream,dc=com Value -> sn=Li Since the Base for LDAP server configuration is “dc=grandstream,dc=com”, “ou=video,ou=SZ” is added to narrow the LDAP search scope. “sn=Li” is the example to filter the last name. | No State | ![]()
| OFF |
Multicast Paging | Multicast paging is a feature that allows the user to make calls to a group of phones listening to the same Paging IP address. Multicast paging calls will be automatically answered on listening phones and conversation will be in one-way audio path (originator can speak, while listening phones will be able to hear only). Enter Line key description in Description field and multicast sending address in Value field. | No State | ![]()
| OFF |
Record | Allows users to record ongoing calls. Recording needs to be supported on the server to use this feature. | Idle | ![]()
| OFF |
Recording | ![]()
| OFF | ||
Call Log | This Key is a shortcut to Call History. | No state | ![]()
| OFF |
Menu | This Key is a shortcut to the Menu button. | No state | ![]()
| OFF |
Information | Select this feature in order to display the Information popup to show the firmware version, MAC address, IP address and IP Settings from the MPK buttons. | No state | ![]()
| OFF |
Presence Watcher | Presence watcher allows to monitor presence / registration status of an extension. this feature needs to be supported by SIP server to use it. Select the Account to monitor the presence status. Enter the extension number in the Value field to be monitored. | Offline, Unknown | ![]()
| OFF |
Available | ![]()
| GREEN | ||
Monitored Call Park | This feature allows to park/pick up the call, and monitor the parked call via VPK button’s LED. Select account from Account field, and enter the call park extension in the Value field. Note: The phone sends SUBSCRIBE to the server to retrieve status of monitored parking lot. | Offline, Unknown | ![]()
| OFF |
Available | ![]()
| GREEN | ||
Call Parked | ![]()
| Flashing RED | ||
Eventlist BLF | Eventlist BLF allows to monitor a list of extension similar to BLF, administrator needs to configure Eventlist BLF on server side and provide Eventlist BLF URI on the phone. Select the Account to monitor the Eventlist BLF status. Enter the extension number in the Value field to be monitored and make sure to specify “Eventlist BLF URI” (Account X 🡪 SIP Settings 🡪 Advanced Features). | Offline, Unknown | ![]()
| OFF |
Terminated | ![]()
| GREEN | ||
Ringing (Early) | ![]()
| Flashing RED | ||
Trying | ![]()
| Flashing RED | ||
Confirmed | ![]()
| RED | ||
Default | Regular line key to open up a line and switch line. The Description and Value fields can be left blank. Note: Default mode is supported on Fixed VPK only. | Unregistered (No IM, Voice mail, No Call Forward) | ![]()
| OFF |
Registered + Idle (No IM, Voice mail, No Call Forward) | ![]()
| OFF | ||
Registered + IM + Voice mail | ![]()
| OFF | ||
Registered + Voice Mail (No IM) | ![]()
| OFF | ||
Unregistered + Call Forward All (No IM, No Voice Mail) | ![]()
| OFF | ||
Registered + Call Forward All (No IM, No Voice Mail) | ![]()
| OFF | ||
Unregistered + Call Forward Delay + Call Forward Busy (No IM, No Voice Mail) | ![]()
| OFF | ||
Registered + Call Forward Delay + Call Forward Busy (No IM, No Voice Mail) | ![]()
| OFF | ||
Unregistered + Call Forward Delay (No IM, No Voice Mail, No Call Forward Busy) | ![]()
| OFF | ||
Registered + Call Forward Delay (No IM, No Voice Mail, No Call Forward Busy) | ![]()
| OFF | ||
Unregistered + Call Forward Busy (No IM, No Voice Mail, No Call Forward Delay) | ![]()
| OFF | ||
Registered + Call Forward Busy (No IM, No Voice Mail, No Call Forward Delay) | ![]()
| OFF | ||
Registered + Ringing | ![]()
| Flashing RED | ||
Registered + On Hold | ![]()
| Flashing GREEN | ||
Registered + Connected + Incoming Call | ![]()
| GREEN | ||
Registered + Connected + Outgoing Call | ![]()
| GREEN | ||
Shared Line | Share line for Shared Line Appearance feature. Select the Account registered as Shared line for the line key. The Description and Value fields can be left blank. Note: You may refer to this guide for more detail about Shared Line configuration: BS_SCA_conf_Guide | Unregistered | ![]()
| OFF |
Registered + Idle | ![]()
| OFF |
VPK Mode | Description | State | Icon | LED Status |
---|---|---|---|---|
Speed Dial | Speed Dial mode allows to set a key for one touch dialing; configured number will be dialed once VPK is pressed. Select the Account to dial from and enter the Speed Dial number to be dialed in the Value field or enter the IP address to set the Direct IP call as Speed Dial. | Account Unregistered | ![]()
| OFF |
Account Registered | ![]()
| ON | ||
Busy Lamp Field (BLF) | Busy Lamp Field (BLF) mode allows to monitor status (available, ringing, busy) of an extension. Select the Account to monitor the BLF status. Enter the extension number in the Value field to be monitored. | Offline, Unknown | ![]()
| OFF |
Terminated | ![]()
| GREEN | ||
Ringing (Early) | ![]()
| Flashing RED | ||
Trying | ![]()
| Flashing RED | ||
Confirmed | ![]()
| RED | ||
Speed Dial Via Active Account | Speed Dial via active account mode allows to set a key for one touch dialing; configured number will be dialed once VPK is pressed using specified account if available, otherwise, first available account will be used to dial out. Select the Account to dial from and enter the Speed Dial number to be dialed in the Value field or enter the IP address to set the Direct IP call as Speed Dial. | No state changes | ![]()
| OFF |
Dial DTMF | Dial DTMF allows customers to send digits while in communication, for instance, when dialing to an IVR, users can set Dial DTMF Key to send digits to the IVR. Enter a series of DTMF digits in the Value field to be dialed during the call. | No state changes | ![]()
| OFF |
Voice Mail | Allows access to user’s voice mail by pressing configured VPK. Select Account and enter the Voice Mail access number in the Value field. | Account not registered | ![]()
| OFF |
Account Registered (No new voice mail) | ![]()
| OFF | ||
Account Registered (voice mail available) | ![]()
| OFF | ||
Call Return | Allows users to dial last answered call by pressing configured VPK. The Value field should be left blank. This option is not binding to the account and the call will be returned based on the account with the last answered call. | No state changes | ![]()
| OFF |
Transfer | Allows to set a destination number to transfer calls to it (blind transfer) by pressing configured VPK. Select Account, and enter the number in the Value field to be transferred during the call. | Account Unregistered | ![]()
| OFF |
Account Registered | ![]()
| OFF | ||
Call Park | This feature allows to park/pick up the call, and can be also used to monitor parking lots via VPK button’s LED. Select Account, and enter the call park extension in the Value field to park/pick up the call. Notes:
| Account Unregistered | ![]()
| OFF |
Account Registered | ![]()
| OFF | ||
Intercom | Allows to set a VPK as intercom button to a specific destination with auto-answer instruction. When the call is initiated, SIP INVITE sent towards destination extension (via SIP server) will include Alert-info header with Auto-answer=0 parameter. Select Account and enter the extension number in the Value field to do the intercom. | Account Unregistered | ![]()
| OFF |
Account Registered | ![]()
| OFF | ||
LDAP Search | This option is to narrow the LDAP search scope.
For example: If users set VPK as “LDAP Search” for “Account 1”, and set filters: Description -> ou=video,ou=SZ,dc=grandstream,dc=com Value -> sn=Li Since the Base for LDAP server configuration is “dc=grandstream,dc=com”, “ou=video,ou=SZ” is added to narrow the LDAP search scope. “sn=Li” is the example to filter the last name. | No State | ![]()
| OFF |
Multicast Paging | Multicast paging is a feature that allows the user to make calls to a group of phones listening to the same Paging IP address. Multicast paging calls will be automatically answered on listening phones and conversation will be in one-way audio path (originator can speak, while listening phones will be able to hear only). Enter Line key description in Description field and multicast sending address in Value field. | No State | ![]()
| OFF |
Record | Allows users to record ongoing calls. Recording needs to be supported on the server to use this feature. | Idle | ![]()
| OFF |
Recording | ![]()
| OFF | ||
Call Log | This Key is a shortcut to Call History. | No state | ![]()
| OFF |
Menu | This Key is a shortcut to the Menu button. | No state | ![]()
| OFF |
Information | Select this feature in order to display the Information popup to show the firmware version, MAC address, IP address and IP Settings from the MPK buttons. | No state | ![]()
| OFF |
Presence Watcher | Presence watcher allows to monitor presence / registration status of an extension. this feature needs to be supported by SIP server to use it. Select the Account to monitor the presence status. Enter the extension number in the Value field to be monitored. | Offline, Unknown | ![]()
| OFF |
Available | ![]()
| GREEN | ||
Monitored Call Park | This feature allows to park/pick up the call, and monitor the parked call via VPK button’s LED. Select account from Account field, and enter the call park extension in the Value field. Note: The phone sends SUBSCRIBE to the server to retrieve status of monitored parking lot. | Offline, Unknown | ![]()
| OFF |
Available | ![]()
| GREEN | ||
Call Parked | ![]()
| Flashing RED | ||
Eventlist BLF | Eventlist BLF allows to monitor a list of extension similar to BLF, administrator needs to configure Eventlist BLF on server side and provide Eventlist BLF URI on the phone. Select the Account to monitor the Eventlist BLF status. Enter the extension number in the Value field to be monitored and make sure to specify “Eventlist BLF URI” (Account X 🡪 SIP Settings 🡪 Advanced Features). | Offline, Unknown | ![]()
| OFF |
Terminated | ![]()
| GREEN | ||
Ringing (Early) | ![]()
| Flashing RED | ||
Trying | ![]()
| Flashing RED | ||
Confirmed | ![]()
| RED | ||
Default | Regular line key to open up a line and switch line. The Description and Value fields can be left blank. Note: Default mode is supported on Fixed VPK only. | Unregistered (No IM, Voice mail, No Call Forward) | ![]()
| OFF |
Registered + Idle (No IM, Voice mail, No Call Forward) | ![]()
| OFF | ||
Registered + IM + Voice mail | ![]()
| OFF | ||
Registered + Voice Mail (No IM) | ![]()
| OFF | ||
Unregistered + Call Forward All (No IM, No Voice Mail) | ![]()
| OFF | ||
Registered + Call Forward All (No IM, No Voice Mail) | ![]()
| OFF | ||
Unregistered + Call Forward Delay + Call Forward Busy (No IM, No Voice Mail) | ![]()
| OFF | ||
Registered + Call Forward Delay + Call Forward Busy (No IM, No Voice Mail) | ![]()
| OFF | ||
Unregistered + Call Forward Delay (No IM, No Voice Mail, No Call Forward Busy) | ![]()
| OFF | ||
Registered + Call Forward Delay (No IM, No Voice Mail, No Call Forward Busy) | ![]()
| OFF | ||
Unregistered + Call Forward Busy (No IM, No Voice Mail, No Call Forward Delay) | ![]()
| OFF | ||
Registered + Call Forward Busy (No IM, No Voice Mail, No Call Forward Delay) | ![]()
| OFF | ||
Registered + Ringing | ![]()
| Flashing RED | ||
Registered + On Hold | ![]()
| Flashing GREEN | ||
Registered + Connected + Incoming Call | ![]()
| GREEN | ||
Registered + Connected + Outgoing Call | ![]()
| GREEN | ||
Shared Line | Share line for Shared Line Appearance feature. Select the Account registered as Shared line for the line key. The Description and Value fields can be left blank. Note: You may refer to this guide for more detail about Shared Line configuration: BS_SCA_conf_Guide | Unregistered | ![]()
| OFF |
Registered + Idle | ![]()
| OFF |
Screen Examples for GRP2613 and GRP2604
The following screenshots show the GRP2613 screen’s first two pages:


The following screenshots show the GRP2604(P) screen’s pages (1, 3 and 4):


