Page 527 - Asterisk™: The Future of Telephony
P. 527

See Also
               SendURL()


               CUT                                              Cuts a string based on a given delimiter
               CUT(varname,char-delim,range-s)

               CUT() works in a similar manner to the cut(1) Unix command-line tool, and is, in fact,
               designed based upon that tool.
               In the dialplan, you may specify character offsets to select a substring of a variable based
               purely on the uniform length of characters (namely 1). CUT() is designed to help you
               work with data that may have multiple, variable-length sections, divided by a common
               delimiter.

               The most common case is the name of a channel, which is composed of two parts, a
               base  name  and  a  unique  identifier  (e.g.,  SIP/tom-abcd1234  or  SIP/bert-1a2b3c4d).
               CUT() may be used to trim the unique identifier, no matter how long the base name may
               be:

                   ; Trim the unique identifier from the current channel name
                   exten => 123,1,Set(chan=${CUT(CHANNEL,-,1)})
               varname is the name of the variable that will be operated on. Note that CUT() operates
               on the name of a variable, rather than upon the value of a variable. CUT() is somewhat
               unique in this regard.
               char-delim is the character that will serve as the delimiter ('-' is the default)
               range-spec allows you to define which fields are returned. The range-spec can be speci-
               fied as a range with - (e.g., 1-3) or a group of ranges and field numbers by separating
               each with & (e.g., 1&3-4). Note that if multiple field numbers are specified, the resulting
               value will have its fields separated by the same delimiter.


                           range-spec uses a 1-based offset. That is, the first field is field 1 (as
                           opposed to a 0-based offset, where the first field would be 0).



               See Also
               FIELDQTY()


               DB                                                         Read or write to AstDB

               DB(family/key)




                                                                                CUT | 499
   522   523   524   525   526   527   528   529   530   531   532