sipXecs has a set of flexible mechanisms to configure Caller ID (CLID). Caller ID can be defined per user, on a user group level, or per gateway. In addition, Caller ID can be set by a transformation of the internal line number, on a per gateway basis, to strip leading digits and add a new prefix. This allows different Caller ID values to be sent for the same user depending on the gateway the call is routed through (for example, a call to London through the London gateway could send a different Caller ID than a call to Los Angeles through the local gateway there).
Caller ID can also be blocked on a per user or per gateway basis (CLIR).
Especially for emergency services calls (such as 911 in North America), there may be very specific legal requirements for what you send as caller id in the jurisdictions you are in: it is your responsibility to make sure that you are meeting those requirements when you route these calls.
The sipXecs proxy can manipulate what it sends to your connection to the PSTN, but different PSTN connections have different capabilities in terms of what is possible from there:
- If you have an analog line, the caller id will always just be the number associated with that line: nothing that sipXecs does will make any difference.
- If you have a T1 style connection through a gateway device, your terms of service and the capabilities and configuration of your gateway affect what will be presented on the PSTN.
- If you use a SIP Trunk, then the configuration of your SIP trunk and how your provider passes the call on to the PSTN affect what will be presented.
Getting all this to work so that the id presented by the PSTN is what you want it to be may take some experimentation and reconfiguration. See #What caller id is in SIP below.
Gateway level Caller ID
There are a few different ways of manipulating the caller id that is sent to a given gateway; each of these apply to any call sent out through that gateway. Normally, any of these settings may be overridden by settings that are specific to a particular user as described below; to prevent a user-specified value from overriding the gateway value, check the 'Ignore user Caller ID' checkbox.
Setting a single Caller ID for all outbound calls
If you want all outgoing calls to have the same caller id (typically true if all or most users do not have a DID so incoming calls go to a single 'main' number), then you can associate the number you want with the gateway.
To set a single caller id, select a gateway and navigate to the Caller ID settings screen.
Fill in just the 'Default Caller Id' setting with the number you wish to send as your caller id.
Blocking Caller ID for all calls
To always prevent any caller id from being sent, check only the 'Block Caller ID' checkbox.
Transforming the callers extension into a Caller ID
If you have users who have individual Direct Inward Dial (DID) numbers, and those users' extensions can be mapped to the DID numbers using some pattern, then you can configure the pattern once at the gateway. To do this transformation, check the 'Transform extension' checkbox, and then set the following two fields:
Keep digits: this is the number of trailing digits of the calling extension to retain in the caller id. If zero is specified, then all digits are kept.
Caller ID prefix: this is a fixed number to add in front of the remaining digits.
So, for example, to transform the internal extension
5432 into the caller id
9785556432, you would set:
Keep digits: 3
Caller ID prefix: 9785556
User specific Caller ID
If you have some users whose extensions cannot be transformed by a pattern to the Caller ID value you want for them, you can set a specific value on the User Caller ID screen; as with the gateway, you can check the 'Block Caller ID' to make all calls made by the user anonymous:
Unless the gateway configuration has set the 'Ignore user Caller ID' flag, a user specific value takes precedence over the value set by a gateway.
Group Caller ID
Caller ID can also be defined at the User Group level. If set in the group and not overridden by the specific user, all users in the group share the same caller ID number for outgoing calls.
As with any group setting, if a user is in several groups, the setting of the last group is the one that controls the active caller id.
What caller id is in SIP
The nearest equivalent to the PSTN caller id in SIP is the 'From' header field, which can include both a Display Name (set in sipXecs on most phones from the first and last name fields of the user), and a number - carried as the part of the sip address between '
sip:' and the '
When you configure a Caller ID, the 'From' header field in the SIP message for outgoing calls is modified by the sipXecs proxy according to the mechanisms described above.
When you configure that Caller ID should be blocked, the 'From' header field is set to 'sip:firstname.lastname@example.org' (a special value defined by the SIP standards).
Between that From header field sent by sipXecs and the caller id display on the phone of the person you are calling are any number of possible transformations. It may be that it will require reconfiguration of one or more of the elements of that signaling path to get the result you want, and it may be that some part of your connection will prevent what you want. It will probably be helpful to verify how sipXecs is setting the value; to trace this, see Display SIP Message flow using Sipviewer.