Siebel CTI Administration Guide > Configuring Advanced Communications Features > Using Macro Expansion for Character Fields >

Macro Expansion with Phone Numbers


Macro expansion provides many options for retrieving and manipulating phone number data for use with communications events or commands. This topic applies to event and command parameters only.

The macro @Phone is often used to retrieve a phone number; for a detailed description of this macro and its encoded logic, see Macros for Parameter Values. Alternatively, you can explicitly specify the name of a field from which to extract phone number data.

NOTE:  When you work with phone number fields in event and command parameter definitions, you must be aware of how phone number data is formatted in your deployment of the Siebel Business Applications and of the implications of the formatting. Dialing filters must be specifically designed and implemented to accommodate local requirements for transforming phone number data from the stored format. For phone number data stored in fields using the DTYPE_PHONE data type, when matching phone number data through QuerySpec or QuerySpec2 event response functions, you might have to use LIKE rather than = (equals) in predicate clauses.

For information about phone number formatting, including formatting for international numbers, see Siebel Applications Administration Guide.

You can use the following special macro-expansion features when retrieving phone number data:

Keywords to Specify Dialing-Filter Behavior

Follow the field name with a colon (:) and one of the following keywords to specify whether to filter the field data using dialing filter rules specified using DialingFilter.RuleN configuration parameters. Dialing filters are applied in numeric sequence until a match is found.

Dialing filter rules allow you to perform an intelligent translation of a phone number, in order to optimize dialing. You can use the macro $DialingRuleMethod within a dialing filter rule definition to invoke a business service method to specify custom logic in the application of the dialing filter rule to the results.

You can use the following keywords with either the @Phone macro or a field whose name you explicitly specify:

  • Lookup. Applies the dialing filters to the field data.

    You can use Lookup with fields that you know to contain phone number data that can be successfully filtered with your dialing filters.

  • PhoneTypeLookup. Checks if a field is of type DTYPE_PHONE (as defined in Siebel Tools). If it is of this type, then the dialing filters are applied to the field data. If it is not of this type, then the dialing filters are not applied to the field data.

CAUTION:  In order for phone number data to be handled correctly in your application, do not modify the type for any field defined as DTYPE_PHONE.

For examples, see Macro-Expansion Examples. For more information about DialingFilter.RuleN configuration parameters, see Specifying Parameters for a Communications Configuration.

Keywords to Extract Part of a Phone Number

Follow a field name with a colon (:) and one of the following keywords to specify the portion of the phone number field to be extracted and substituted. You can use these keywords only with fields of type DTYPE_PHONE. If none of these keywords is specified after a field name, then the phone number from the field corresponds to IntlNumber. IntlNumber can also be specified explicitly.

NOTE:  The plus sign (+) is included only in the value for IntlNumber, when this keyword represents an international number. In the following keyword descriptions, references to the country code do not include the plus sign (+) character.

  • IntlNumber. Represents one of the following:
    • If the country code for the number matches the current locale for the Siebel Server (Application Object Manager), then IntlNumber represents the domestic phone number (number without the country code or extension).
    • If the country code for the number does not match the current locale for the Siebel Server (Application Object Manager), then IntlNumber represents the international phone number (+ and country code and number, without the extension).
  • Digits. The full phone number as stored in the database field (country code, phone number, and extension).
  • Country. The country code only (without the phone number or extension).
  • Number. The phone number only (without the country code or extension).
  • Extension. The phone number extension only (without the country code and phone number). This keyword is applicable when the phone number field contains an extension number prefaced with an x or another localized character).

Numeric Ranges to Extract

Follow the field name or a keyword with a colon (:) and a range of numerals to be extracted from the field value. You can specify a substring numeric range directly after the field name or after a keyword indicating the part of the phone number.

Primary Phone Field User Property in Business Components

Any business component can have a named user property called Primary Phone Field. The property value is the field name of the same business component that contains the phone number and that must be dialed when a make-call command is invoked on an applet that uses this business component.

For example, the Account business component can have a Primary Phone Field user property set to the value Main Phone Number. This tells Communications Server that Main Phone Number is the field that must be dialed by default when dialing is requested on an account.

Under certain circumstances, the value of the @Phone macro is equal to the field designated as the Primary Phone Field.

For more information about specifying user properties, see the developer documentation on the Siebel Bookshelf.

Related Books

Configuring Siebel Business Applications

Configuring Siebel Open UI

Using Siebel Tools

Siebel Developer's Reference

Siebel CTI Administration Guide Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices.