AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

x100p dahdi

Newbies/FAQ Forum 17 сообщений 27.08.2009 09:55 - 17.07.2012 09:11
#1 27.08.2009 09:55

x100p dahdi

Приобрел карточку x100p (клон), поставил в систему, ставлю астериск1.4.26+дахди

Код: Выделить всё

skysnet:/etc/asterisk # dahdi_hardware pci:0000:00:09.0 wcfxo+ e159:0001 Wildcard X101P clone 
карточку увидел, дале делаю конфигурацию.

Код: Выделить всё

skysnet:/etc/asterisk # dahdi_cfg -vv DAHDI Tools Version - 2.2.0 ***** Channel map: Channel 01: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 01) 1 channels to configure. Setting echocan for channel 1 to mg2 
сконфигурировал...
подгружаю модули..

Код: Выделить всё

skysnet:/etc/asterisk # lsmod | grep dahdi dahdi_dummy 8656 0 dahdi_echocan_mg2 10760 0 dahdi_transcode 12168 1 wctc4xxp dahdi_voicebus 43280 2 wctdm24xxp,wcte12xp dahdi 196356 13 dahdi_dummy,dahdi_echocan_mg2,xpp,dahdi_transcode,wcb4xxp,wctdm,wcfxo,wctdm24xxp,wcte11xp,wct1xxp,wcte12xp,dahdi_voicebus,wct4xxp crc_ccitt 6144 3 ppp_async,dahdi,netjetpci 
вроде все на месте... стартую asterisk
ввожу команду status для dahdi

Код: Выделить всё

*CLI> dahdi show status Description Alarms IRQ bpviol CRC4 Generic Clone Board 1 OK 0 0 0 DAHDI_DUMMY/1 (source: HRtimer) 1 UNCONFIGUR 0 0 0 
ну якобы статус ОК..
ввожу dahdi show channels - и там пусто.

sip.conf - внесен юзверь 100,остальное без изменений. тестовые звонки работают. могу позвонить "сам себе"

dahdi-channels.conf

Код: Выделить всё

signalling=fxs_ks callerid=asreceived group=0 context=from-pstn channel => 1 callerid= group= context=default 

Код: Выделить всё

exten =>_8XXX,1,Dial(DAHDI/1/${EXTEN},,tT) exten => 100,1, Macro(stdexten,100,SIP/100)
Лог вызова:

Код: Выделить всё

 -- Executing [8332@home:1] Dial("SIP/100-0820c4a0", "DAHDI/1/8332||tT") in new stack [Aug 27 13:28:15] WARNING[16511]: app_dial.c:1275 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 0 - Unknown) == Everyone is busy/congested at this time (1:0/0/1) == Auto fallthrough, channel 'SIP/100-0820c4a0' status is 'CHANUNAVAIL' 


Вопрос - где моя ошибка и что я забыл сделать?
#2 27.08.2009 10:09
А конфиг астериска кто буит писать? Пушкин?
#4 28.08.2009 05:38
Но всётаки покажи что у тебя в /etc/asterisk/dahdi-channels.conf
#5 28.08.2009 05:44
выше все написано...
#6 28.08.2009 06:34
Если выше указан весь конфиг, то ты явно забыл что то типа
[channels]
faxdetect=no
language=ru
context=default
switchtype=euroisdn
pridialplan=unknown
signalling=pri_cpe
usecallerid=yes
hidecallerid=no
usecallingpres=yes
threewaycalling=yes
transfer=yes
canpark=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
echotraining=800
relaxdtmf=yes
rxgain=0.0
txgain=0.0
в начале...
#7 28.08.2009 08:11
да, огромное спасибо) файл channel-dahdi.conf я не увидел - от чего и вся ошибка была!
сейчас поднимает трубку... но номер как то хило набирает(или не набирает вообще)... пока поразбираюсь...
#8 28.08.2009 08:15
Имеешь ввиду долго набирает? Ты тональный набор юзаешь?
#9 01.09.2009 10:02
номер набирает... но при звонке на некоторые телефоны астерикс сам кладет трубку - при соединении атс выдает сигнал, который астерикс принимает за то, что удаленный абонент положил трубку. в итоге разговор длится 1 сек(не успевает соединить).
вопрос - как заставить астерикс игнорировать абсолютно все сигналы от атс скажем 3 секунды? параметр T в конце диалплана?
#10 05.09.2009 14:06

Dahdi-finish

Итак, на всякий случай - если кому из новичков пригодится. настройка x100p на opensuse 11.0. в последующем перенесено на debian последней версии.

Устанавливаем карточку x100p в pci,подключаем. включаем комп. устанавливаем пакеты астерикса и dahdi.
После установки

Код: Выделить всё

skysnet:~ # dahdi_hardware pci:0000:00:09.0 wcfxo+ e159:0001 Wildcard X101P clone 
Видим - система определила карточку. Замечательно.

Выполняем команду

Код: Выделить всё

skysnet:~ # dahdi_genconf
и сразу же проверяем конфигурацию:

Код: Выделить всё

skysnet:~ # dahdi_cfg -vv DAHDI Tools Version - 2.2.0 DAHDI Version: 2.2.0.2 Echo Canceller(s): MG2 Configuration ====================== Channel map: Channel 01: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 01) 1 channels to configure. Setting echocan for channel 1 to mg2 
Карточка сконфигурирована системой удачно.

Далее перезагружаемся, чтобы dahdi подгрузил все нужные модули в ядро ИЛИ выполняем команду

Код: Выделить всё

/etc/init.d/dahdi start
После операций выше проверим, удачно ли подгрузились модули.

Код: Выделить всё

skysnet:~ # lsmod | grep dahdi dahdi_echocan_mg2 10760 0 dahdi_transcode 12168 1 wctc4xxp dahdi_voicebus 43280 2 wctdm24xxp,wcte12xp dahdi 196356 16 dahdi_echocan_mg2,xpp,dahdi_transcode,wcb4xxp,wctdm,wcfxo,wctdm24xxp,wcte11xp,wct1xxp,wcte12xp,dahdi_voicebus,wct4xxp crc_ccitt 6144 2 dahdi,netjetpci
Да, модули на месте...

Теперь перейдем к конфигурированию самого астерикса. Я выложу конфиги, все опции можно посмотреть на других сайтах или просто вбить в гугл. Если кому то не нравятся конфиги - думаю они сами поймут куда стоит направиться...

Код: Выделить всё

skysnet:~ # cat /etc/asterisk/chan_dahdi.conf [trunkgroups] [channels] #include /etc/asterisk/dahdi-channels.conf signalling=fxs_ks usecallerid=yes callwaiting=yes usecallingpres=yes callwaitingcallerid=yes threewaycalling=yes transfer=yes canpark=yes cancallforward=yes callreturn=no echocancel=yes echocancelwhenbridged=yes group=1 callgroup=1 pickupgroup=1 immediate=no ringtimeout=800000 signalling=fxs_ks callerid=asreceived group=0 context=from-pstn channel => 1 [general] static=yes writeprotect=no clearglobalvars=no [globals] CONSOLE=Console/dsp IAXINFO=guest TRUNK=DAHDI/g1 TRUNKMSD=0 

Код: Выделить всё

skysnet:~ # cat /etc/asterisk/dahdi-channels.conf ; Autogenerated by /usr/sbin/dahdi_genconf on Fri Aug 28 10:57:30 2009 ; If you edit this file and execute /usr/sbin/dahdi_genconf again, ; your manual changes will be LOST. ; Dahdi Channels Configurations (chan_dahdi.conf) ; ; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended ; to be #include-d by /etc/chan_dahdi.conf that will include the global settings ; ; Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER) ;;; line="1 WCFXO/0/0 FXSKS (SWEC: MG2)" signalling=fxs_ks callerid=asreceived group=0 context=from-pstn channel => 1 callerid= group= context=default pulsedial=yes ;;; busydetect=no 
В файле sip.conf внесено изменение bindadress и

Код: Выделить всё

[100] ; me type=friend host=dynamic username=100 secret=******* nat=no canreinvite=no context=home callerid="100" ;allow=gsm allow=ulaw ;allow=alaw
В extensions.conf внес следующее:

Код: Выделить всё

[home] exten => 100,1, Macro(stdexten,100,SIP/100) exten = _XXXXXX,1,Set(VAR=${EXTEN}) exten = _XXXXXX,n,Set(VAR1=${EXTEN:0:1}) exten = _XXXXXX,n,Set(VAR2=${EXTEN:1:1}) exten = _XXXXXX,n,Set(VAR3=${EXTEN:2:1}) exten = _XXXXXX,n,Set(VAR4=${EXTEN:3:1}) exten = _XXXXXX,n,Set(VAR5=${EXTEN:4:1}) exten = _XXXXXX,n,Set(VAR6=${EXTEN:5:1}) exten = _XXXXXX,n,Dial(DAHDI/1/(w${VAR1}w${VAR2}w${VAR3}w${VAR4}w${VAR5}w${VAR6}w${VAR6}w${VAR6}))
Подобное извращение вызвано АТС, на которой я нахожусь... после набора номера происходит звуковой сигнал, который астериск расценивает как завершение разговора и кладет трубку. Пришлось немного выкрутиться - зато работает все на ура.

Если кого то интересуют входящие звонки - можно воспользоваться этим кодом.

Код: Выделить всё

;exten => s,1,Wait(1) ; Wait a second, just for fun ;exten => s,n,Answer ; Answer the line ;exten => s,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds ;exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds ;exten => s,n,DIAL(SIP/100,20) 
Звонок будет переведен на пользователя 100. Простой телефон так же будет звонить. Если в течение 20 секунд трубка не будет поднята - звонок прекратится, но простой телефон будет звонить по-прежнему.
#11 04.07.2012 15:07

15 секунд ожидания между набором номера и звонком

Здравствуйте!

Начальство с барского плеча прикупило:
- телефончик Senao SN-258 http://www.radioport.ru/index.cgi/shop?dir=2&id=1
- многим известный Sip-адаптер Linksys PAP2T

Также имеется Asterisk - сборка Elastix
После настройки данного счастья при звонке с сабжа после окончания набора номера и перед началом гудков проходит 15 секунд.
Если посмотреть логи Астериска, то они начинаются тоже после 15 секунд.
Помогите, пожалуйста, в чем может быть проблема?
А вот если звонить с какого-нибудь телефона на телефон Senao, то он начинает звонить сразу же.
И если подключить другой аналоговый аппарат к адаптеру, то там тоже 15 секунд.
Помогите, пожалуйста нубу, где эта настройка, которая отвечает за 15 секунд?
#12 04.07.2012 16:37
1) Настроить диалплан FXS-адаптера
2) Нажимать # в конце номера
#13 05.07.2012 06:14
Спасибо огромное! помогло!

После правки диалплана он ждет 3-5 секунд, а если # нажать - вообще мгновенно :dance:
#14 13.07.2012 05:44

autopause и сброс звонка

Есть такая задача: члену очереди (не агенту) нужно иметь возможность через AMI отклонить входящий звонок. Для очереди установлен параметр autopause=yes. Через AMI посылаю Hangup в канал члена очереди и cause 17 (AST_CAUSE_USER_BUSY) - вызов отклоняется, но отклонивший автоматически ставится на паузу, а мне это совсем не надо.
Установил параметр timeoutrestart=yes - не помогает, другие коды завершения тоже.

Код: Выделить всё

; If timeoutrestart is set to yes, then the timeout for an agent to answer is ; reset if a BUSY or CONGESTION is received. This can be useful if agents ; are able to cancel a call with reject or similar.
Asterisk 1.8.8.2

Что я, собственно, делаю не так?
#15 15.07.2012 15:36
Я допилил так :
immediate=yes
ringtimeout=8000 - тут по вкусу :) . ( в моём случае при пере адресации на мобилу)
#16 17.07.2012 09:04
Теперь обнаружилась еще одна проблема с тем же адаптером и Астериской. Не идет перехват звонков. То есть если взять обычный IP телефон, то там все ок, сервисные коды работают. Но на аналоговом телефоне через адаптер не срабатывают.
При гугленьи попадались советы исправить Dial Plan. Но как его исправить - неизвестно.
Вот он:

(**.|*x.|*8xxxx.|*xx.|[3469]11|0|00|8xxx|[2-9]xxxxxx|[09]8xxx[1-9]xxxxxxS0|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)

Перехват идет на **

Направленный перехват тоже не работает. Раздаются в конце короткие гудки.
Также после удаления из вкладки Regional всех Activation Codes стали работать некоторые сервисные коды Астериска, например, *60.
Помогите, пожалуйста, и с этим. Уже два дня гуглю.
#17 17.07.2012 09:11
Плохой специалист гуглит, а хороший читает документацию.