Документация и статьи по Asterisk PBX Asterisk: новости
К сожалению предыдущий выпуск ушел в несколько... э... неудачном виде.
Повторяю.
Вступление
К сожалению я не смог подготовить предыдущий выпуск, так как целиком был занят
восстановлением последствий сбоя на freesource.info. К счастью все данные целы.
По той же причине не были подготовлены и выложены патчи, использующиеся у меня
для сборки -- можете не волноваться, выложу :)
Этот выпуск содержит в себе информацию за две недели в очень краткой форме.
Разное
- в test-this-branch oej добавил патч для G.722 passthrouw и
записи/воспроизведения (сентябрьский патч от andrew, доработаный мной до
работоспособности на текущем trunk);
- множество исправлений было сделано для Solaris/SPARC сборки и сборки для
FreeBSD, я при этом напоминаю что Asterisk без zaptel (хотя бы на уровне
ztdummy) очень слабый продукт, потому до появления ztdummy под Solaris
смысла в использовании на нем Asterisk я не вижу;
- множество небольших исправлений, в том числе doxygen документации;
- ведется активная работа по переработке say.c, для лучшей
интернационализации Asterisk в будущем;
T.38
Судя по последним патчам для T.38, его явно тестирует очень небольшое
количество людей. Пожалуйста, поучаствуйте в тестировании и отладке этого патч
-- он очень важен для всех нас, и для наших клиентов.
codec negotiation
В ветки team/oej/codecnegotiation начата моя работа по изменению channel API,
связанного с кодеками. Эта работа важна для будущего упрощения множества давно
ожидаемх улучшений в алгоритме выбора кодеков для использования. К сожалению я
не имею прямого доступа в svn, и передаю все патчи через oej, что резко
осложняет работу.
IAX2
- commit file's work to convert iax2 multithreading to use pthread conditions
instead of signals (with some modifications) -- было бы крайне интересно
узнать, если кто-нибудь протестирует эти изменения, и скажет изменилась ли в
лучшую сторону стабильность Asterisk при использовании iax2 multithreading.
По последней информации из asterisk-dev@ последние изменения в IAX2 сделали
его работу много стабильнее.
- fix build without SCHED_MULTITHREADED defined (issue #6719) -- я пытался
собрать chan_iax2 без новомодного мультитредового шедулера, который вместо
того чтобы работать роняется астериск прямо и косвенно. Благо оставили
возможность собрать без него (убрав #defined SCHED_MULTITHREADED). Но, увы,
никто даже не пытался собрать в таком режиме, кроме меня, ибо оно не
собиралось. Тривиальный патч ушел в багзиллу и был принят. Теперь я
настоятельно рекомендую всем пользователям svn head комментирвать строку с
#definde SCHED_MULTITHREADED, если они не желают участвовать в отладке
этого кода (который был бы очень полезен, если бы работал).
Изменения в SIP
- Issue #6576 - SIP_CODEC not used for early media (reported by gpapadop73)
- add a missing header to fix building with -Werror (issue #6717) -- я
постоянно тестирую сборку Asterisk с -Werror и результаты отправляю в
bugtracker, в настоящий момент я не использую сборок Asterisk, которые бы не
собираись с -Werror и вам того же желаю
- Issue #6781 - Verbose levels not enforced in app_voicemail (Reported by
flobi)
cdr
- remove calculations that always evaluate to zero, thanks Luigi!
- Furthermore, set the disposition to FAILED if the CDR was never even started
- Issue #5918 - Disposition showing FAILED even though call is answered
successfully (Reported by tracinet)
iax
- Don't overwrite ANI if it's already sent with IES
- Опция mailboxdetail больше не используется в виду своей бессмысленности в
настоящий момент. Ранее она использовалась, чтобы включить передачу не
только флага MWI (есть сообщения), но и детализации (сколько старых/новых
сообщений);
meetme
- Bug 6526 - app_meetme.c: Add a reference count to avoid crash
Остальные изменения
- pbx.c: add locking to protect the list of global dialplan variables
- Issue 6710: saydate crash. Fix by Luigi Rizzo -- старая ошибка,
заключавшаяся в падении saydate при неуказании формата, вообще патчи от
Luigi очень высокого качества и содержат в себе как интересные архитектурные
изменения, так и разумные cleanup's. Была-бы моя воля, я бы содержимое его
branch'а давно отправил в svn -- постабильнее бы была система;
- rawplayer.c: catch read/write errors and exit if they occur (issue #6721)
- clarify which global options are enabled by default -- теперь общий #define
AST_DEFAULT_OPTIONS определяются эти опции -- очень удобно для тех, кто
упаковывает астериск в дистрибутивы или спецрешения, и собирается менять
опции по-умолчанию.
- queue: fix a problem with not loading realtime queue members by always
reloading a realtime queue from the database even if it is found in the list
(issue #6680)
- app_rpt: update to reflect conversion of the accountcode to use stringfields
(issue #6722) -- моя работа
- Bug 6316 - Add flag to not speak single user announcement (флаг '1')
- don't calculate a duration if the CDR wasn't started, as it will result in a
totally bogus value. Thanks, Luigi! :)
- fix the return value for the provided unsetenv() for Solaris
- fix memory leak due to not freeing the channel's string fields in
ast_channel_destroy() (issue #6746)
- fix the build of eagi-test on Solaris in combination with astmm
- fix astmm on sparc or any other architecture that doesn't allow unaligned
memory access
- don't add conference participant if the user hangs up while recording their
name (issue #6661)
- add a CLI command that allows converting files to other formats using the
Asterisk file format and codec translator modules (issue #6062)
- Bug 6699 - Fix for ENUMLOOKUP
- Meetme file is parsed with comma-delimiters, not vertical bars
- fix crash when using the ParkAndAnnounce application. When using this
application, there will be no peer channel to play the parking announcement
to. (issue #6756)
- update LOCAL_USER_ADD to use ast_calloc
- fix REGEX on strings that contain quotes (issue #6678)
- app_readfile: don't crash when asked to read from a file that doesn't exist
(issue #6786)
- zap: Allow channels to be moved if channel change is requested in SETUP_ACK,
also add a WAY cool new field to the nsf option
- Issue #6764 - Return BUSY signal when other party is busy at Attended
Transfer (Reported by mnachev)
- ensure global variables lock is held during 'show globals' CLI command
- add a CLI command that allows conversion of files to other formats using the
Asterisk file format and codec translation modules (issue #6062) --
используется просто, "convert oldfile.ext newfile.ext"
- Bug #5884 - fix a possible race state in app_meetme when a channel has gone
away and we are reading continuously for more frames. (mneuhauser)
- fixed G.723.1 building (после долгих споров в bugtracker'ы мы с PCadach были
посланы далеко и надолго, но проблема была решена наиболее правильным
патчем, увы, мой был больше похож на грязный хак :)
- pbx.c: Bug 6745 - Fix for ranges that wrap around the ends
- zap: always use the callerid signalling method set in the zt_pvt strucutre
as opposed to the last one read from the config file (issue #6734, with
mods)
- zap: Added separate outsignalling specification, and fixed FEATDMF to allow
for international inbound calls.