UPGRADE.txt 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530
  1. =========================================================
  2. === Information for upgrading from Asterisk 1.2 to 1.4
  3. ===
  4. ===
  5. === UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
  6. === UPGRADE.txt -- Upgrade info for 1.2 to 1.4
  7. =========================================================
  8. IAX2:
  9. * The firmware for the IAXy has been removed from Asterisk. It can be
  10. downloaded from http://downloads.digium.com/pub/iaxy/. To have Asterisk
  11. install the firmware into its proper location, place the firmware in the
  12. contrib/firmware/iax/ directory in the Asterisk source tree before running
  13. "make install".
  14. * There have been some changes to the IAX2 protocol to address the security
  15. concerns documented in the security advisory AST-2009-006. Please see the
  16. IAX2 security document, doc/IAX2-security.pdf, for information regarding
  17. backwards compatibility with versions of Asterisk that do not contain these
  18. changes to IAX2.
  19. Build Process (configure script):
  20. Asterisk now uses an autoconf-generated configuration script to learn how it
  21. should build itself for your system. As it is a standard script, running:
  22. $ ./configure --help
  23. will show you all the options available. This script can be used to tell the
  24. build process what libraries you have on your system (if it cannot find them
  25. automatically), which libraries you wish to have ignored even though they may
  26. be present, etc.
  27. You must run the configure script before Asterisk will build, although it will
  28. attempt to automatically run it for you with no options specified; for most
  29. users, that will result in a similar build to what they would have had before
  30. the configure script was added to the build process (except for having to run
  31. 'make' again after the configure script is run). Note that the configure script
  32. does NOT need to be re-run just to rebuild Asterisk; you only need to re-run it
  33. when your system configuration changes or you wish to build Asterisk with
  34. different options.
  35. Build Process (module selection):
  36. The Asterisk source tree now includes a basic module selection and build option
  37. selection tool called 'menuselect'. Run 'make menuselect' to make your choices.
  38. In this tool, you can disable building of modules that you don't care about,
  39. turn on/off global options for the build and see which modules will not
  40. (and cannot) be built because your system does not have the required external
  41. dependencies installed.
  42. The resulting file from menuselect is called 'menuselect.makeopts'. Note that
  43. the resulting menuselect.makeopts file generally contains which modules *not*
  44. to build. The modules listed in this file indicate which modules have unmet
  45. dependencies, a present conflict, or have been disabled by the user in the
  46. menuselect interface. Compiler Flags can also be set in the menuselect
  47. interface. In this case, the resulting file contains which CFLAGS are in use,
  48. not which ones are not in use.
  49. If you would like to save your choices and have them applied against all
  50. builds, the file can be copied to '~/.asterisk.makeopts' or
  51. '/etc/asterisk.makeopts'.
  52. Build Process (Makefile targets):
  53. The 'valgrind' and 'dont-optimize' targets have been removed; their functionality
  54. is available by enabling the DONT_OPTIMIZE setting in the 'Compiler Flags' menu
  55. in the menuselect tool.
  56. It is now possible to run most make targets against a single subdirectory; from
  57. the top level directory, for example, 'make channels' will run 'make all' in the
  58. 'channels' subdirectory. This also is true for 'clean', 'distclean' and 'depend'.
  59. Sound (prompt) and Music On Hold files:
  60. Beginning with Asterisk 1.4, the sound files and music on hold files supplied for
  61. use with Asterisk have been replaced with new versions produced from high quality
  62. master recordings, and are available in three languages (English, French and
  63. Spanish) and in five formats (WAV (uncompressed), mu-Law, a-Law, GSM and G.729).
  64. In addition, the music on hold files provided by opsound.org Music are now available
  65. in the same five formats, but no longer available in MP3 format.
  66. The Asterisk 1.4 tarball packages will only include English prompts in GSM format,
  67. (as were supplied with previous releases) and the opsound.org MOH files in WAV format.
  68. All of the other variations can be installed by running 'make menuselect' and
  69. selecting the packages you wish to install; when you run 'make install', those
  70. packages will be downloaded and installed along with the standard files included
  71. in the tarball.
  72. If for some reason you expect to not have Internet access at the time you will be
  73. running 'make install', you can make your package selections using menuselect and
  74. then run 'make sounds' to download (only) the sound packages; this will leave the
  75. sound packages in the 'sounds' subdirectory to be used later during installation.
  76. WARNING: Asterisk 1.4 supports a new layout for sound files in multiple languages;
  77. instead of the alternate-language files being stored in subdirectories underneath
  78. the existing files (for French, that would be digits/fr, letters/fr, phonetic/fr,
  79. etc.) the new layout creates one directory under /var/lib/asterisk/sounds for the
  80. language itself, then places all the sound files for that language under that
  81. directory and its subdirectories. This is the layout that will be created if you
  82. select non-English languages to be installed via menuselect, HOWEVER Asterisk does
  83. not default to this layout and will not find the files in the places it expects them
  84. to be. If you wish to use this layout, make sure you put 'languageprefix=yes' in your
  85. /etc/asterisk/asterisk.conf file, so that Asterisk will know how the files were
  86. installed.
  87. PBX Core:
  88. * The (very old and undocumented) ability to use BYEXTENSION for dialing
  89. instead of ${EXTEN} has been removed.
  90. * Builtin (res_features) transfer functionality attempts to use the context
  91. defined in TRANSFER_CONTEXT variable of the transferer channel first. If
  92. not set, it uses the transferee variable. If not set in any channel, it will
  93. attempt to use the last non macro context. If not possible, it will default
  94. to the current context.
  95. * The autofallthrough setting introduced in Asterisk 1.2 now defaults to 'yes';
  96. if your dialplan relies on the ability to 'run off the end' of an extension
  97. and wait for a new extension without using WaitExten() to accomplish that,
  98. you will need set autofallthrough to 'no' in your extensions.conf file.
  99. Language Support:
  100. * Support for Taiwanese was incorrectly supported with the "tw" language code.
  101. In reality, the "tw" language code is reserved for the Twi language, native
  102. to Ghana. If you were previously using the "tw" language code, you should
  103. switch to using either "zh" (for Mandarin Chinese) or "zh_TW" for Taiwan
  104. specific localizations. Additionally, "mx" should be changed to "es_MX",
  105. Georgian was incorrectly specified as "ge" but should be "ka", and Czech is
  106. "cs", not "cz".
  107. Command Line Interface:
  108. * 'show channels concise', designed to be used by applications that will parse
  109. its output, previously used ':' characters to separate fields. However, some
  110. of those fields can easily contain that character, making the output not
  111. parseable. The delimiter has been changed to '!'.
  112. Applications:
  113. * In previous Asterisk releases, many applications would jump to priority n+101
  114. to indicate some kind of status or error condition. This functionality was
  115. marked deprecated in Asterisk 1.2. An option to disable it was provided with
  116. the default value set to 'on'. The default value for the global priority
  117. jumping option is now 'off'.
  118. * The applications Cut, Sort, DBGet, DBPut, SetCIDNum, SetCIDName, SetRDNIS,
  119. AbsoluteTimeout, DigitTimeout, ResponseTimeout, SetLanguage, GetGroupCount,
  120. and GetGroupMatchCount were all deprecated in version 1.2, and therefore have
  121. been removed in this version. You should use the equivalent dialplan
  122. function in places where you have previously used one of these applications.
  123. * The application SetGlobalVar has been deprecated. You should replace uses
  124. of this application with the following combination of Set and GLOBAL():
  125. Set(GLOBAL(name)=value). You may also access global variables exclusively by
  126. using the GLOBAL() dialplan function, instead of relying on variable
  127. interpolation falling back to globals when no channel variable is set.
  128. * The application SetVar has been renamed to Set. The syntax SetVar was marked
  129. deprecated in version 1.2 and is no longer recognized in this version. The
  130. use of Set with multiple argument pairs has also been deprecated. Please
  131. separate each name/value pair into its own dialplan line.
  132. * app_read has been updated to use the newer options codes, using "skip" or
  133. "noanswer" will not work. Use s or n. Also there is a new feature i, for
  134. using indication tones, so typing in skip would give you unexpected results.
  135. * OSPAuth is added to authenticate OSP tokens in in_bound call setup messages.
  136. * The CONNECT event in the queue_log from app_queue now has a second field
  137. in addition to the holdtime field. It contains the unique ID of the
  138. queue member channel that is taking the call. This is useful when trying
  139. to link recording filenames back to a particular call from the queue.
  140. * The old/current behavior of app_queue has a serial type behavior
  141. in that the queue will make all waiting callers wait in the queue
  142. even if there is more than one available member ready to take
  143. calls until the head caller is connected with the member they
  144. were trying to get to. The next waiting caller in line then
  145. becomes the head caller, and they are then connected with the
  146. next available member and all available members and waiting callers
  147. waits while this happens. This cycle continues until there are
  148. no more available members or waiting callers, whichever comes first.
  149. The new behavior, enabled by setting autofill=yes in queues.conf
  150. either at the [general] level to default for all queues or
  151. to set on a per-queue level, makes sure that when the waiting
  152. callers are connecting with available members in a parallel fashion
  153. until there are no more available members or no more waiting callers,
  154. whichever comes first. This is probably more along the lines of how
  155. one would expect a queue should work and in most cases, you will want
  156. to enable this new behavior. If you do not specify or comment out this
  157. option, it will default to "no" to keep backward compatability with the old
  158. behavior.
  159. * Queues depend on the channel driver reporting the proper state
  160. for each member of the queue. To get proper signalling on
  161. queue members that use the SIP channel driver, you need to
  162. enable a call limit (could be set to a high value so it
  163. is not put into action) and also make sure that both inbound
  164. and outbound calls are accounted for.
  165. Example:
  166. [general]
  167. limitonpeer = yes
  168. [peername]
  169. type=friend
  170. call-limit=10
  171. * The app_queue application now has the ability to use MixMonitor to
  172. record conversations queue members are having with queue callers. Please
  173. see configs/queues.conf.sample for more information on this option.
  174. * The app_queue application strategy called 'roundrobin' has been deprecated
  175. for this release. Users are encouraged to use 'rrmemory' instead, since it
  176. provides more 'true' round-robin call delivery. For the Asterisk 1.6 release,
  177. 'rrmemory' will be renamed 'roundrobin'.
  178. * The app_queue application option called 'monitor-join' has been deprecated
  179. for this release. Users are encouraged to use 'monitor-type=mixmonitor' instead,
  180. since it provides the same functionality but is not dependent on soxmix or some
  181. other external program in order to mix the audio.
  182. * app_meetme: The 'm' option (monitor) is renamed to 'l' (listen only), and
  183. the 'm' option now provides the functionality of "initially muted".
  184. In practice, most existing dialplans using the 'm' flag should not notice
  185. any difference, unless the keypad menu is enabled, allowing the user
  186. to unmute themsleves.
  187. * ast_play_and_record would attempt to cancel the recording if a DTMF
  188. '0' was received. This behavior was not documented in most of the
  189. applications that used ast_play_and_record and the return codes from
  190. ast_play_and_record weren't checked for properly.
  191. ast_play_and_record has been changed so that '0' no longer cancels a
  192. recording. If you want to allow DTMF digits to cancel an
  193. in-progress recording use ast_play_and_record_full which allows you
  194. to specify which DTMF digits can be used to accept a recording and
  195. which digits can be used to cancel a recording.
  196. * ast_app_messagecount has been renamed to ast_app_inboxcount. There is now a
  197. new ast_app_messagecount function which takes a single context/mailbox/folder
  198. mailbox specification and returns the message count for that folder only.
  199. This addresses the deficiency of not being able to count the number of
  200. messages in folders other than INBOX and Old.
  201. * The exit behavior of the AGI applications has changed. Previously, when
  202. a connection to an AGI server failed, the application would cause the channel
  203. to immediately stop dialplan execution and hangup. Now, the only time that
  204. the AGI applications will cause the channel to stop dialplan execution is
  205. when the channel itself requests hangup. The AGI applications now set an
  206. AGISTATUS variable which will allow you to find out whether running the AGI
  207. was successful or not.
  208. Previously, there was no way to handle the case where Asterisk was unable to
  209. locally execute an AGI script for some reason. In this case, dialplan
  210. execution will continue as it did before, but the AGISTATUS variable will be
  211. set to "FAILURE".
  212. A locally executed AGI script can now exit with a non-zero exit code and this
  213. failure will be detected by Asterisk. If an AGI script exits with a non-zero
  214. exit code, the AGISTATUS variable will be set to "FAILURE" as opposed to
  215. "SUCCESS".
  216. * app_voicemail: The ODBC_STORAGE capability now requires the extended table format
  217. previously used only by EXTENDED_ODBC_STORAGE. This means that you will need to update
  218. your table format using the schema provided in doc/odbcstorage.txt
  219. * app_waitforsilence: Fixes have been made to this application which changes the
  220. default behavior with how quickly it returns. You can maintain "old-style" behavior
  221. with the addition/use of a third "timeout" parameter.
  222. Please consult the application documentation and make changes to your dialplan
  223. if appropriate.
  224. Manager:
  225. * After executing the 'status' manager action, the "Status" manager events
  226. included the header "CallerID:" which was actually only the CallerID number,
  227. and not the full CallerID string. This header has been renamed to
  228. "CallerIDNum". For compatibility purposes, the CallerID parameter will remain
  229. until after the release of 1.4, when it will be removed. Please use the time
  230. during the 1.4 release to make this transition.
  231. * The AgentConnect event now has an additional field called "BridgedChannel"
  232. which contains the unique ID of the queue member channel that is taking the
  233. call. This is useful when trying to link recording filenames back to
  234. a particular call from the queue.
  235. * app_userevent has been modified to always send Event: UserEvent with the
  236. additional header UserEvent: <userspec>. Also, the Channel and UniqueID
  237. headers are not automatically sent, unless you specify them as separate
  238. arguments. Please see the application help for the new syntax.
  239. * app_meetme: Mute and Unmute events are now reported via the Manager API.
  240. Native Manager API commands MeetMeMute and MeetMeUnmute are provided, which
  241. are easier to use than "Action Command:". The MeetMeStopTalking event has
  242. also been deprecated in favor of the already existing MeetmeTalking event
  243. with a "Status" of "on" or "off" added.
  244. * OriginateFailure and OriginateSuccess events were replaced by event
  245. OriginateResponse with a header named "Response" to indicate success or
  246. failure
  247. Variables:
  248. * The builtin variables ${CALLERID}, ${CALLERIDNAME}, ${CALLERIDNUM},
  249. ${CALLERANI}, ${DNID}, ${RDNIS}, ${DATETIME}, ${TIMESTAMP}, ${ACCOUNTCODE},
  250. and ${LANGUAGE} have all been deprecated in favor of their related dialplan
  251. functions. You are encouraged to move towards the associated dialplan
  252. function, as these variables will be removed in a future release.
  253. * The CDR-CSV variables uniqueid, userfield, and basing time on GMT are now
  254. adjustable from cdr.conf, instead of recompiling.
  255. * OSP applications exports several new variables, ${OSPINHANDLE},
  256. ${OSPOUTHANDLE}, ${OSPINTOKEN}, ${OSPOUTTOKEN}, ${OSPCALLING},
  257. ${OSPINTIMELIMIT}, and ${OSPOUTTIMELIMIT}
  258. * Builtin transfer functionality sets the variable ${TRANSFERERNAME} in the new
  259. created channel. This variables holds the channel name of the transferer.
  260. * The dial plan variable PRI_CAUSE will be removed from future versions
  261. of Asterisk.
  262. It is replaced by adding a cause value to the hangup() application.
  263. Functions:
  264. * The function ${CHECK_MD5()} has been deprecated in favor of using an
  265. expression: $[${MD5(<string>)} = ${saved_md5}].
  266. * The 'builtin' functions that used to be combined in pbx_functions.so are
  267. now built as separate modules. If you are not using 'autoload=yes' in your
  268. modules.conf file then you will need to explicitly load the modules that
  269. contain the functions you want to use.
  270. * The ENUMLOOKUP() function with the 'c' option (for counting the number of
  271. records), but the lookup fails to match any records, the returned value will
  272. now be "0" instead of blank.
  273. * The REALTIME() function is now available in version 1.4 and app_realtime has
  274. been deprecated in favor of the new function. app_realtime will be removed
  275. completely with the version 1.6 release so please take the time between
  276. releases to make any necessary changes
  277. * The QUEUEAGENTCOUNT() function has been deprecated in favor of
  278. QUEUE_MEMBER_COUNT().
  279. The IAX2 channel:
  280. * It is possible that previous configurations depended on the order in which
  281. peers and users were specified in iax.conf for forcing the order in which
  282. chan_iax2 matched against them. This behavior is going away and is considered
  283. deprecated in this version. Avoid having ambiguous peer and user entries and
  284. to make things easy on yourself, always set the "username" option for users
  285. so that the remote end can match on that exactly instead of trying to infer
  286. which user you want based on host.
  287. If you would like to go ahead and use the new behavior which doesn't use the
  288. order in the config file to influence matching order, then change the
  289. MAX_PEER_BUCKETS define in chan_iax2.c to a value greater than one. An
  290. example is provided there. By changing this, you will get *much* better
  291. performance on systems that do a lot of peer and user lookups as they will be
  292. stored in memory in a much more efficient manner.
  293. * The "mailboxdetail" option has been deprecated. Previously, if this option
  294. was not enabled, the 2 byte MSGCOUNT information element would be set to all
  295. 1's to indicate there there is some number of messages waiting. With this
  296. option enabled, the number of new messages were placed in one byte and the
  297. number of old messages are placed in the other. This is now the default
  298. (and the only) behavior.
  299. The SIP channel:
  300. * The "incominglimit" setting is replaced by the "call-limit" setting in
  301. sip.conf.
  302. * OSP support code is removed from SIP channel to OSP applications. ospauth
  303. option in sip.conf is removed to osp.conf as authpolicy. allowguest option
  304. in sip.conf cannot be set as osp anymore.
  305. * The Asterisk RTP stack has been changed in regards to RFC2833 reception
  306. and transmission. Packets will now be sent with proper duration instead of all
  307. at once. If you are receiving calls from a pre-1.4 Asterisk installation you
  308. will want to turn on the rfc2833compensate option. Without this option your
  309. DTMF reception may act poorly.
  310. * The $SIPUSERAGENT dialplan variable is deprecated and will be removed
  311. in coming versions of Asterisk. Please use the dialplan function
  312. SIPCHANINFO(useragent) instead.
  313. * The ALERT_INFO dialplan variable is deprecated and will be removed
  314. in coming versions of Asterisk. Please use the dialplan application
  315. sipaddheader() to add the "Alert-Info" header to the outbound invite.
  316. * The "canreinvite" option has changed. canreinvite=yes used to disable
  317. re-invites if you had NAT=yes. In 1.4, you need to set canreinvite=nonat
  318. to disable re-invites when NAT=yes. This is propably what you want.
  319. The settings are now: "yes", "no", "nonat", "update". Please consult
  320. sip.conf.sample for detailed information.
  321. The Zap channel:
  322. * Support for MFC/R2 has been removed, as it has not been functional for some
  323. time and it has no maintainer.
  324. The Agent channel:
  325. * Callback mode (AgentCallbackLogin) is now deprecated, since the entire function
  326. it provided can be done using dialplan logic, without requiring additional
  327. channel and module locks (which frequently caused deadlocks). An example of
  328. how to do this using AEL dialplan is in doc/queues-with-callback-members.txt.
  329. The G726-32 codec:
  330. * It has been determined that previous versions of Asterisk used the wrong codeword
  331. packing order for G726-32 data. This version supports both available packing orders,
  332. and can transcode between them. It also now selects the proper order when
  333. negotiating with a SIP peer based on the codec name supplied in the SDP. However,
  334. there are existing devices that improperly request one order and then use another;
  335. Sipura and Grandstream ATAs are known to do this, and there may be others. To
  336. be able to continue to use these devices with this version of Asterisk and the
  337. G726-32 codec, a configuration parameter called 'g726nonstandard' has been added
  338. to sip.conf, so that Asterisk can use the packing order expected by the device (even
  339. though it requested a different order). In addition, the internal format number for
  340. G726-32 has been changed, and the old number is now assigned to AAL2-G726-32. The
  341. result of this is that this version of Asterisk will be able to interoperate over
  342. IAX2 with older versions of Asterisk, as long as this version is told to allow
  343. 'g726aal2' instead of 'g726' as the codec for the call.
  344. Installation:
  345. * On BSD systems, the installation directories have changed to more "FreeBSDish"
  346. directories. On startup, Asterisk will look for the main configuration in
  347. /usr/local/etc/asterisk/asterisk.conf
  348. If you have an old installation, you might want to remove the binaries and
  349. move the configuration files to the new locations. The following directories
  350. are now default:
  351. ASTLIBDIR /usr/local/lib/asterisk
  352. ASTVARLIBDIR /usr/local/share/asterisk
  353. ASTETCDIR /usr/local/etc/asterisk
  354. ASTBINDIR /usr/local/bin/asterisk
  355. ASTSBINDIR /usr/local/sbin/asterisk
  356. Music on Hold:
  357. * The music on hold handling has been changed in some significant ways in hopes
  358. to make it work in a way that is much less confusing to users. Behavior will
  359. not change if the same configuration is used from older versions of Asterisk.
  360. However, there are some new configuration options that will make things work
  361. in a way that makes more sense.
  362. Previously, many of the channel drivers had an option called "musicclass" or
  363. something similar. This option set what music on hold class this channel
  364. would *hear* when put on hold. Some people expected (with good reason) that
  365. this option was to configure what music on hold class to play when putting
  366. the bridged channel on hold. This option has now been deprecated.
  367. Two new music on hold related configuration options for channel drivers have
  368. been introduced. Some channel drivers support both options, some just one,
  369. and some support neither of them. Check the sample configuration files to see
  370. which options apply to which channel driver.
  371. The "mohsuggest" option specifies which music on hold class to suggest to the
  372. bridged channel when putting them on hold. The only way that this class can
  373. be overridden is if the bridged channel has a specific music class set that
  374. was done in the dialplan using Set(CHANNEL(musicclass)=something).
  375. The "mohinterpret" option is similar to the old "musicclass" option. It
  376. specifies which music on hold class this channel would like to listen to when
  377. put on hold. This music class is only effective if this channel has no music
  378. class set on it from the dialplan and the bridged channel putting this one on
  379. hold had no "mohsuggest" setting.
  380. The IAX2 and Zap channel drivers have an additional feature for the
  381. "mohinterpret" option. If this option is set to "passthrough", then these
  382. channel drivers will pass through the HOLD message in signalling instead of
  383. starting music on hold on the channel. An example for how this would be
  384. useful is in an enterprise network of Asterisk servers. When one phone on one
  385. server puts a phone on a different server on hold, the remote server will be
  386. responsible for playing the hold music to its local phone that was put on
  387. hold instead of the far end server across the network playing the music.
  388. CDR Records:
  389. * The behavior of the "clid" field of the CDR has always been that it will
  390. contain the callerid ANI if it is set, or the callerid number if ANI was not
  391. set. When using the "callerid" option for various channel drivers, some
  392. would set ANI and some would not. This has been cleared up so that all
  393. channel drivers set ANI. If you would like to change the callerid number
  394. on the channel from the dialplan and have that change also show up in the
  395. CDR, then you *must* set CALLERID(ANI) as well as CALLERID(num).
  396. * cdr_pgsql now assumes the encoding of strings it is handed are in LATIN9,
  397. which should cover most uses of the extended ASCII set. If your strings
  398. use a different encoding in Asterisk, the "encoding" parameter may be set
  399. to specify the correct character set.
  400. API:
  401. * There are some API functions that were not previously prefixed with the 'ast_'
  402. prefix but now are; these include the ADSI, ODBC and AGI interfaces. If you
  403. have a module that uses the services provided by res_adsi, res_odbc, or
  404. res_agi, you will need to add ast_ prefixes to the functions that you call
  405. from those modules.
  406. Formats:
  407. * format_wav: The GAIN preprocessor definition has been changed from 2 to 0
  408. in Asterisk 1.4. This change was made in response to user complaints of
  409. choppiness or the clipping of loud signal peaks. The GAIN preprocessor
  410. definition will be retained in Asterisk 1.4, but will be removed in a
  411. future release. The use of GAIN for the increasing of voicemail message
  412. volume should use the 'volgain' option in voicemail.conf
  413. iLBC Codec:
  414. * Previously, the Asterisk source code distribution included the iLBC
  415. encoder/decoder source code, from Global IP Solutions
  416. (http://www.gipscorp.com). This code is not licensed for
  417. distribution, and thus has been removed from the Asterisk source
  418. code distribution. If you wish to use codec_ilbc to support iLBC
  419. channels in Asterisk, you can run the contrib/scripts/get_ilbc_source.sh
  420. script to download the source and put it in the proper place in
  421. the Asterisk build tree. Once that is done you can follow your normal
  422. steps of building Asterisk. You will need to run 'menuselect' and enable
  423. the iLBC codec in the 'Codec Translators' category.