THIS WIKI HAS BEEN UPDATED FOR VERSION 13 OF YOUR PBX GUI
This guide walks you through information related to PJSIP extensions.
In order to have access to creating PJSIP extensions, the SIP Channel Driver option in the Advanced Settings module must be set to "both" or "chan_pjsip." This option can be found in the "Dialplan and Operational" section. If this option is set to chan_sip only, you will not see the PJSIP option in the extensions module.
This guide is for PJSIP. The chan_pjsip channel driver works with Asterisk 12 and above. In Asterisk 12 and below, there is a chan_sip option described in the wiki Extensions Module - SIP Extension.
- From the top menu click Applications
- From the drop down click Extensions
Adding a PJSIP Extension
Click the Add New PJSIP Extension button.
This will be the extension number associated with this user and cannot be changed once saved. We recommend using 3- or 4-digit extension numbers.
This is the name associated with this extension and can be edited any time. This will become the Caller ID Name. Only enter the name, NOT the number.
Overrides the CallerID when dialing out a trunk. Any setting here will override the common outbound CallerID set in the Trunks module. Format: "caller name" <#######>
Leave this field blank to disable the outbound CallerID feature for this user. If you leave it blank, the system will use the route or trunk Caller ID, if set.
Password (secret) configured for the device. Should be alphanumeric with at least 2 letters and numbers to keep secure. A secret is auto-generated but you may edit it. A color-coded bar will display the strength of the secret, ranging from "really weak" to "strong."
User Manager Settings
Link to a Default User
Select a user that this extension should be linked to in the User Management module. Default = Create New User. An extension may only be linked to one user, and a user may only be linked to one extension.
- Create New User: Creates a new user in User Manager that will be linked to this extension.
- None: The extension will not be associated with a user in User Manager
- Existing User: If you have any existing users in User Manager who are not already linked to an extension, you can select one here in order to link the user to this extension.
If Create New User is selected above, this will be the new user's login username. If you leave the Username field is blank (grayed-out), the username will be the same as the extension number. To customize the username, check the Use Custom Username box and enter a username.
Password for New User
If Create New User is selected above, this will be the auto-generated user's new password. A password is automatically generated, but you can edit it here.
If Create New User is selected above, or if you are linking this extension to an existing user, you can add the user to one or more groups. Groups are defined in the User Management module, so if you haven't created any groups, none will show up here. To add this user to a group, click inside the field, and available groups will show up in a menu. You can start typing to quickly find a group. Click on a group name to add it to the field. Repeat the process if you with to enter multiple groups.
- Click on the Voicemail tab.
- If you wish to enable voicemail, click the Yes button next to Enabled in order to allow editing the options below.
Yes/No: Whether to enable voicemail for the user.
Enter the password (numbers only) the user will use to access the voicemail system. If left blank, it will default to the extension number. The user can change the password after logging into the voicemail system (*98) with a phone.
Require From Same Extension
Yes/No: Whether to require the user to enter their password after they reach the voicemail system from their own extension, by dialing *97. This option does not apply to *98 calls, which will always prompt for a password. For security purposes, a Yes setting is recommended in an environment where other users will have physical access to this extension.
Disable ( * ) in Voicemail Menu
Yes/No: Whether to disable access to the voicemail menu. Default = Yes. If set to Yes, a user will not be able to access the voicemail menu by pressing "*". If you have no plans to access your mailbox remotely, set this to Yes. If set to No, the user can access voicemail remotely by calling into their extension and pressing "*" to reach the menu.
Optional - The e-mail that voicemail notifications will be sent to. Further down the page, you have the option of whether to attach the actual voicemail message to the e-mail.
Pager Email Address
Optional - A pager e-mail address or mobile email address that short voicemail notifications will be sent to.
Yes/No: Whether to attach the voicemail to the e-mail notification. Requires an email address to be set above.
Yes/No: Whether to read back the caller's telephone number prior to playing the voicemail, just after announcing the date and time the message was left.
Yes/No: Whether the system will play the message envelope information (date/time) before playing the voicemail message. This setting does not affect the operation of the envelope option in the advanced voicemail menu.
Yes/No: Whether to delete the voicemail message from the mailbox after it is e-mailed to the user. If set to Yes, this would provide functionality that allows users to receive their voicemail via e-mail alone, rather than needing to retrieve it from the web interface or a telephone.
If Delete Voicemail = Yes, then you MUST set an e-mail address for the user above, and also set Email Attachment = Yes. Otherwise, the voicemail message would be lost forever, because it would not be e-mailed, and would be deleted from the system.
Optional: Advanced settings. Enter voicemail options, separated by the pipe symbol (|). For example, "review=yes | maxmessage=60" May be left blank.
This is the Voicemail Context, which is normally set to "default." Do not change unless you understand the implications.
VMX Locater is designed to help a caller reach an operator and/or find you when you are not at your main phone. If enabled, the user will want to consider recording voicemail greetings that instruct a caller on which options to press (0, 1, and/or 2).
Whenever you enter information into the 0, 1, and/or 2 options below, you should run a test to make sure the number is functional, because otherwise the caller might become stranded or receive messages about a number being invalid.
Yes/No: Whether to enable the VMX Locater feature. Set to Yes if you would like to enable this feature and edit the options below.
Select one or more of the buttons to enable VMX Locater for these types of greetings: Unavailable, Busy, and/or Temporary.
Yes/No: Whether to play instructions after playing your greeting. If set to No, only a beep will be played after your personal voicemail greeting.
Check the Go to Operator box to send the caller to the operator when they press 0. Uncheck the Go to Operator box and enter an alternative destination if you want the caller to be sent to a different destination when they press 0. This feature is still accessible to callers even when VMX Locater is disabled for the user.
Optional - Enter a destination to send the caller to when they press 1. This can be an internal extension, ring group, queue, or external number such as a cell phone number.
Optional - Enter a destination to send the caller to when they press 2. This can be an internal extension, ring group, queue, or external number such as a cell phone number.
Find Me / Follow Me
- Click on the Find Me / Follow Me tab.
- Find Me / Follow Me is enabled by default here so that you may edit the settings. After entering settings, you can disable it if desired.
Yes/No: Whether to enable Find Me / Follow Me. Must be set to Yes (at least temporarily) in order to edit other settings on this page. If you leave it set to Yes, Find Me / Follow Me will be active for this extension when you save the extension and apply config. You can set to No to disable Find Me / Follow Me for an extension until the user activates it.
Initial Ring Time
Use the drop-down menu to select initial ring time, in seconds. This is the number of seconds to ring the primary extension prior to proceeding to the follow-me list. If "0," the primary extension will not be rung before proceeding to the follow-me list. The extension can also be included in the follow-me list.
- ringallv2: ring Extension for duration set in Initial Ring Time, and then, while continuing call to extension, ring Follow-Me List for duration set in Ring Time.
- ringall: ring Extension for duration set in Initial Ring Time, and then terminate call to Extension and ring Follow-Me List for duration set in Ring Time.
- hunt: take turns ringing each available extension
- memoryhunt: ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc.
- *-prim: these modes act as described above. However, if the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is in do-not-disturb (DND) mode, it won't be rung. If the primary is in call forward (CF) unconditional mode, then all will be rung.
- firstavailable: ring only the first available channel
- firstnotonphone: ring only the first channel which is not off hook - ignore CW
Time in seconds that the phones will ring. For all hunt-style ring strategies, this is the time for each iteration of phone(s) that are rung.
Enter a list of extensions to ring, one per line, or use the Extension Quick Pick menu below. You can include an extension on a remote system, or an external number, by suffixing a number with a pound (#). ex: 2448089# would dial 2448089 on the appropriate trunk (see Outbound Routing).
Extension Quick Pick
This drop-down menu gives you the option to select existing extensions to add to the Follow-Me List above.
Select the message to be played to the caller before dialing the find me / follow me list. Default = none. The drop-down menu shows available system recordings. To add additional recordings, please use the System Recordings module.
Play Music On Hold
If you select a Music on Hold class to play, instead of the default "Ring," the caller will hear that MoH instead of ringing while they are waiting for someone to pick up.
CID Name Prefix
Optional - You can optionally prefix the Caller ID name when ringing extensions in this group. For example, if you prefix with "Sales:", a call from John Doe would display as "Sales:John Doe" on the find me / follow me list extensions that ring.
Optional - You can optionally include an Alert Info, which can create distinctive rings on SIP phones.
Call Confirmation Configuration
Yes/No: Whether to confirm external calls. Call confirmation requires the remote party to press 1 to accept the call. This can help prevent an unanswered find me / follow me call from reaching an external voicemail box. This feature only works with the ringall or ringall-prim ring strategies.
Message to be played to the person receiving the call if Confirm Calls = Yes. You can use the default message or select one of your System Recordings.
Message to be played to the person receiving the call if Confirm Calls = Yes and the call has already been accepted elsewhere.
Change External CID Configuration
- Default: Transmits the caller's CID if allowed by the trunk.
- Fixed CID Value: Always transmit the Fixed CID Value below.
- Outside Calls Fixed CID Value: Transmit the Fixed CID Value below on calls that come in from outside only. Internal extension-to-extension calls will continue to operate in default mode.
- Use Dialed Number: Transmit the number that was dialed as the CID for calls coming from outside. Internal extension-to-extension calls will continue to operate in default mode. There must be a DID on the inbound route for this. This will be BLOCKED on trunks that block foreign CallerID.
- Force Dialed Number: Transmit the number that was dialed as the CID for calls coming from outside. Internal extension-to-extension calls will continue to operate in default mode. There must be a DID on the inbound route for this. This WILL be transmitted on trunks that block foreign CallerID.
Fixed CID Value
Fixed value to replace the CID used with some of the modes above. Should be in a format of digits only with an option of E164 format using a leading "+".
Optional destination call is routed to when the call is not answered on an otherwise idle phone. If the phone is in use and the call is simply ignored, then the busy destination will be used.
Remember to set Enabled = No at the top of the page after you're done changing settings if you do not want find me / follow me to be active. Otherwise, it will be active for the extension after you save settings and apply config.
- Click on the Advanced tab.
- There are many settings in this tab. See below for explanations of the options.
A description for this DID, such as "Fax"
Add Inbound DID
A DID that is directly associated with this extension. The DID should be in the same format as provided by the provider (e.g. full number, 4 digits for 10x4, etc). Format should be: XXXXXXXXXX
Add Inbound CID
Add a CID for more specific DID + CID routing. A DID must be specified in the above Add Inbound DID field. In addition to standard dial sequences, you can also enter Private, Blocked, Unknown, Restricted, Anonymous, Withheld, and Unavailable in order to catch these special cases if the Telco transmits them.
Call Camp-On Services
Asterisk: cc_agent_policy. Used to enable Camp-On for this user and set the technology mode that will be used when engaging the feature. In most cases Generic Device should be chosen unless your phones are designed to work with channel-specific capabilities.
Asterisk: cc_monitor_policy. Used to control whether other phones are allowed to Camp On to this extension. If so, it sets the technology mode used to monitor the availability of the extension. If no specific technology support is available, then it should be set to a Generic Device. In this mode, a callback will be initiated to this extension when it changes from an InUse state to NotInUse. If it was busy when first attempted, this will be when the current call has ended. If it simply did not answer, then this will be the next time this phone is used to make or answer a call and then hangs up. It is possible to set this to take advantage of Native Technology Support if available and automatically fall back to the Generic Mode if not.
The DTMF signaling mode used by this device, usually RFC for most phones. [dtmfmode]
Asterisk context this device will send calls to. Only change this is you know what you are doing. [context]
Whether Asterisk should trust the RPID settings from this device. Usually should be yes for CONNECTEDLINE() functionality to work if supported by the endpoint.[trustrpid]
Whether Asterisk should send RPID (or PAI) info to the device. Usually should be enabled to the settings used by your device for CONNECTEDLINE() functionality to work if supported by the endpoint.[sendrpid]
Frequency in seconds to send qualify messages to the endpoint.
This sets the allowed transport settings for this device and the default (Primary) transport for outgoing. The default transport is only used for outbound messages until a registration takes place. During the peer registration the transport type may change to another supported type if the peer requests so. In most common cases, this does not have to be changed as most devices register in conjunction with the host=dynamic setting. If you are using TCP and/or TLS you need to make sure the general SIP Settings are configured for the system to operate in those modes and for TLS, proper certificates have been generated and configured. If you are using websockets (such as WebRTC) then you must select an option that includes WS.
Whether to Enable AVPF. Defaults to no. The WebRTC standard has selected AVPF as the audio video profile to use for media streams. This is not the default profile in use by Asterisk. As a result the following must be enabled to use WebRTC.
Enable ICE Support
Whether to Enable ICE Support. Defaults to no. ICE (Interactive Connectivity Establishment) is a protocol for Network Address Translator(NAT) traversal for UDP-based multimedia sessions established with the offer/answer model. This option is commonly enabled in WebRTC setups.
Callgroup(s) that this device is part of. Can be one or more callgroups, e.g. "1,3-5" would be in groups 1,3,4,5.
Pickupgroups(s) that this device can pickup calls from. Can be one or more groups, e.g. '1,3-5' would be in groups 1,3,4,5. Device does not have to be in a group to be able to pick up calls from that group.
Disallowed codecs. Set this to "all" to remove all codecs defined in the general settings, and then specify specific codecs separated by "&" on the "allow" setting, or just disallow specific codecs separated by "&".
Allow specific codecs, separated by the "&" sign and in priority order. E.g. "ulaw&g729". Codecs allowed in the general settings will also be allowed unless removed with the "disallow" directive above.
How to dial this device. This should not be changed unless you know what you are doing.
Mailbox for this device. This should not be changed unless you know what you are doing. This will be automatically set to: <extnum>@device
With an LDAP backend, to enable MWI (Message waiting indication), enter a semi-colon list of mailboxes in the form <extnum>@default
Asterisk dialplan extension to reach voicemail for this device. Some devices use this to auto-program the voicemail button on the endpoint. If left blank, the default vmexten setting is automatically configured by the voicemail module. Only change this on devices that have special needs.
Account code for this device.
Maximum number of Endpoints that can associate with this Device
Media Use Received Transport
Determines whether res_pjsip will use the media transport received in the offer SDP in the corresponding answer SDP
Enforce that RTP must be symmetric. If this device is natting in it is usually a good idea to enable this. Disable only if you are having issues.
Allow Contact header to be rewritten with the source IP address-port
MWI Subscription Type
For Message Waiting indicators there are two types: Solicited and Unsolicited. Solicited means Subscribe 200 then Notify 200. Unsolicited means only Notify 200. No need to Subscribe. Solicited is the default and should only be changed if you see errors in the Asterisk logs
When enabled, Asterisk condenses message waiting notifications from multiple mailboxes into a single NOTIFY. If it is disabled, individual NOTIFYs are sent for each mailbox.
Media (RTP) Encryption. Normally you would use None, unless you have explicitly set up SDP or DTLS. [media_encryption]
Media Encryption Optimistic
Determines whether encryption should be used if possible but does not terminate the session if not achieved. This option only applies if Media Encryption is set to SRTP via in-SDP or DTLS-SRTP. [media-encryption_optimistic]
The value is a comma-delimited list of IP addresses. IP addresses may have a subnet mask appended. The subnet mask may be written in either CIDR or dot-decimal notation. Separate the IP address and subnet mask with a slash ('/')
Maximum time to keep an AoR
Minimum time to keep an AoR
CID Num Alias
The CID Number to use for internal calls, if different from the extension number. This is used to masquerade as a different user. A common example is a team of support people who would like their internal CallerID to display the general support number (a ringgroup or queue). There will be no effect on external calls.
If you want to support direct sip dialing of users internally or through anonymous sip calls, you can supply a friendly name that can be used in addition to the users extension to call them.
Asterisk Dial Options
Cryptic Asterisk Dial Options. Check the override box to customize for this extension, or un-check to use system defaults set in Advanced Options. These will not apply to trunk options, which are configured with the trunk.
Number of seconds to ring prior to going to the "no answer" destination. Default will use the global default value set in Advanced Settings. If no voicemail is configured this will be ignored.
Call Forward Ring Time
Number of seconds to ring during a Call Forward, Call Forward Busy or Call Forward Unavailable call prior to continuing to voicemail or specified destination. Setting to Always will cause the phone to just continue to ring without going to the "no answer" destination. Default will use the current Ring Time. If voicemail is disabled and a destination is not specified, it will be forced into Always mode.
Outbound Concurrency Limit
Maximum number of outbound simultaneous calls that an extension can make. This is also very useful as a security protection against a system that has been compromised. It will limit the number of simultaneous calls that can be made on the compromised extension.
Enable/Disable: Set the initial/current Call Waiting state for this user's extension. If disabled, a second concurrent incoming call would be sent to this extension's "busy" destination.
Internal Auto Answer
Disable/Intercom: When set to Intercom, calls to this extension/user from other internal users act as if they were intercom calls meaning they will be auto-answered if the endpoint supports this feature and the system is configured to operate in this mode. All the normal white list and black list settings will be honored if they are set. External calls will still ring as normal, as will certain other circumstances such as blind transfers and when a Follow Me is configured and enabled. If Disabled, the phone rings as a normal phone.
Call Screening requires external callers to say their name, which will be played back to the user and allow the user to accept or reject the call. Screening with memory only verifies a caller for their CallerID once. Screening without memory always requires a caller to say their name. Either mode will always announce the caller based on the last introduction saved with that CallerID. If any user on the system uses the memory option, when that user is called, the caller will be required to re-introduce themselves and all users on the system will have that new introduction associated with the caller's CallerID.
Enabling Pinless Dialing will allow this extension to bypass any PIN codes normally required on outbound calls.
This Caller ID will always be used when dialing out an Outbound Route that is designated as an "Emergency" route (i.e. when dialing 911). The Emergency CID overrides all other CallerID settings.
Queue State Detection
If this extension is part of a queue, then the queue will attempt to use the user's extension state or device state information when determining if this queue member should be called. In some uncommon situations, such as a Follow-Me with no physical device, or some virtual extension scenarios, the state information will indicate that this member is not available even when it is available. Setting this to Ignore State will make the queue ignore all state information, thus always trying to contact this member. Certain side effects can occur when this route is taken due to the nature of how queues handle local channels. For example, subsequent transfers will continue to show the member as busy until the original call is terminated. In most cases, this should be set to Use State.
Inbound External Calls
Force/Yes/Don't Care/No/Never: Recording of inbound calls from external sources.
Outbound External Calls
Force/Yes/Don't Care/No/Never: Recording of outbound calls to external sources.
Inbound Internal Calls
Force/Yes/Don't Care/No/Never: Recording of calls received from other extensions on the system.
Outbound Internal Calls
Recording of calls made to other extensions on the system.
On Demand Recording
Disable/Enable/Override: Enable or disable the ability to do on demand (one-touch) recording. The overall calling policy rules still apply, and if calls are already being recorded by "Force" or "Never," the cannot be paused unless "Override" is selected.
Record Priority Policy
This is the call recording policy priority relative to other extensions when there is a conflict (i.e. one extension wants to record and the other extension does not). The higher of the two priorities determines the policy. If the two priorities are equal, the global policy (caller or callee) determines the policy.
Disabled/Enabled: Whether Dictation service is available for this extension.
Audio format to use for dictation (Ogg Vorbis, GSM, or WAV).
The email address that completed dictations are sent to.
(Datagram Transport Layer Security)
No/Yes: Enable or disable DTLS-SRTP support.
The Certificate to use from Certificate Manager
Verify that provided peer certificate and fingerprint are valid.
- Yes: Perform both certificate and fingerprint verification
- No: Perform no certificate or fingerprint verification
- Fingerprint: Perform ONLY fingerprint verification
- Certificate: Perform ONLY certificate verification
Whether we are willing to accept connections, connect to the other party, or both. This value will be used in the outgoing SDP when offering and for incoming SDP offers when the remote party sends actpass
- Active: we want to connect to the other party
- Passive: we want to accept connections only
- Act/Pass: we will do both
DTLS Rekey Interval
Interval at which to renegotiate the TLS session and rekey the SRTP session. If this is not set or the value provided is 0 rekeying will be disabled.
Optional destination call is routed to when the call is not answered on an otherwise idle phone. If the phone is in use and the call is simply ignored, then the busy destination will be used instead.
Optional CID Prefix to add before sending to this no answer destination.
Optional destination the call is routed to when the phone is busy or the call is rejected by the user. This destination is also used on an unanswered call if the phone is in use and the user chooses not to pick up the second call.
Optional CID Prefix to add before sending to this busy destination.
Optional destination the call is routed to when the phone is offline, such as a softphone currently off or a phone unplugged.
Optional CID Prefix to add before sending to this not reachable destination.
Brand of device to be provisioned
MAC Address of device to be provisioned
Template to use for device
Model of device to be provisioned
Account number to be assigned
Add to iSymphony
yes/no: Whether to Makes this extension available in iSymphony
yes/no: Whether to make this extension automatically answer the initial call received from the system when performing an origination within iSymphony. Only works with Aastra, Grandstream, Linksys, Polycom, and Snom phones.
This will cause all messages and voice prompts to use the selected language if installed. Languages can be added or removed in the Sound Languages module.
Default Group Inclusion
Default Page Group
Exclude/Include: Whether this extension/device will be part of the default page group.
Default VMblast Group
Exclude/Include: Whether this extension/device will be part of the default voicemail blast group. Include will be ignored if the user does not have a voicemail box.
Choose a default Parking Lot for this extension.
Saving the Extension
- Click the Submit button
- Click the Apply Config button