VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Настройка Wildcard TDM410P

Вопросы по использованию и настройке IP телефонов, шлюзов и всего прочего

Модераторы: april22, Zavr2008

Ответить
zerghack007
Сообщения: 50
Зарегистрирован: 01 июн 2011, 06:52

Настройка Wildcard TDM410P

Сообщение zerghack007 »

Помогите настроить карточку Digium Wildcard TDM410P

Сначала настроил:
CENTOS 6.2
Asterisk 1.8.10.1
FreePBX 2.9.0.7

1. Через WEB
завел SIP-пользователей внутренних.
настроил транк до SIP-провайдера.
все работает.

2. начал настраивать Digium Wildcard TDM410P
Поставил из исходников DAHDI Version: 2.6.0

Через WEB завел внутреннего абонента.

Снимаю трубку, а там шум только(нету гудков привычных).
Думаю ну ладно попробую позвонить c SIP-телефона на аналоговый. Звонок не проходит, девушка сообщает, что он Unavailable

# dahdi_scan

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

[1]
active=yes
alarms=OK
description=Wildcard TDM410P
name=WCTDM/0
manufacturer=Digium
devicetype=Wildcard TDM410P
location=PCI Bus 02 Slot 11
basechan=1
totchans=4
irq=0
type=analog
port=1,none
port=2,none
port=3,FXS
port=4,FXO
cat chan_dahdi_additional.conf

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

;;;;;;[777]
signalling=fxo_ks
pickupgroup=
mailbox=777@default
immediate=no
echotraining=800
echocancelwhenbridged=no
echocancel=yes
context=from-internal
callprogress=no
callgroup=
callerid=device <777>
busydetect=no
busycount=7
accountcode=
channel=>3
zerghack007
Сообщения: 50
Зарегистрирован: 01 июн 2011, 06:52

Re: Настройка Wildcard TDM410P

Сообщение zerghack007 »

Прочитал, что вроде как надо ставить сначала dahdi, а потом Asterisk.

Пересобрал Asterisk.

Появились утилиты dahdi

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

[root@asterisk ~]# asterisk -rvvvvvvv
Asterisk 1.8.10.1, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.8.10.1 currently running on asterisk (pid = 1312)
Verbosity was 3 and is now 7

[b]asterisk*CLI> dahdi
destroy  restart  set      show[/b]
Но телефон попрежнему не подает гудков и не работает :(
ded
Сообщения: 15631
Зарегистрирован: 26 авг 2010, 19:00

Re: Настройка Wildcard TDM410P

Сообщение ded »

zerghack007 писал(а):Снимаю трубку, а там шум только(нету гудков привычных).
Думаю ну ладно попробую позвонить c SIP-телефона на аналоговый. Звонок не проходит, девушка сообщает, что он Unavailable
Так детектируют работоспособность Астериска только блондинки.
Смотрите в консоль при звонке, там для людей сообщения, а не код ассемблера. Осваивайте команды
CLI> dahdi show channels
пытайтесь исполльзовать дебаг для решения проблемы.
Запишитесь в библиотеку, почитайте книжки - http://asterisk.ru/knowledgebase/books
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Настройка Wildcard TDM410P

Сообщение Aven »

Переставьте мезонины в 1 и 2 слот.
А Dahdi вы настроили?
Решения телефонии на базе Asterisk || http://it-need.ru
zerghack007
Сообщения: 50
Зарегистрирован: 01 июн 2011, 06:52

Re: Настройка Wildcard TDM410P

Сообщение zerghack007 »

Переставил мезонины, но эфект тот же. Конфиг тоже поправил соответственно.

Настраиваю через WEB
Вот файл который правиться Freepbx автоматом
# sed '/ *;/d; / ;/d; /^$/d' chan_dahdi_additional.conf

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

;;;;;;[777]
signalling=fxo_ks
pickupgroup=1
mailbox=777@default
immediate=no
echotraining=800
echocancelwhenbridged=no
echocancel=yes
context=from-internal
callprogress=no
callgroup=1
callerid=device <777>
busydetect=no
busycount=7
accountcode=
channel=>2
Еще лежит стандартный файл Asteriska
sed '/ *;/d; / ;/d; /^$/d' chan_dahdi.conf

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

[trunkgroups]
[channels]
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
group=1
callgroup=1
pickupgroup=1
Если ничего вручную не вносить, то телефон только шумит.

Я попробовал со старого Asteriska 1.6, который когда настраивал через консоль добавить вручную данные для fxs в конец файла chan_dahdi.conf

sed '/ *;/d; / ;/d; /^$/d' chan_dahdi.conf

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

[trunkgroups]
[channels]
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
group=1
callgroup=1
pickupgroup=1

group = 2
callerid="Internal" <777>
signalling = fxo_ks
context = from-internal
channel = 2
И ТЕЛЕФОН ЗАРАБОТАЛ. Теперь собственно вопрос почему через WEB не работает? Ему видимо не хватает group = 2?


На всякий случай скину данные, которые просил DED-уля

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

service dahdi status
### Span  1: WCTDM/0 "Wildcard TDM410P" (MASTER)
  1 FXO        FXSKS        RED
  2 FXS        FXOKS
  3 unknown    Reserved
  4 unknown    Reserved

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

asterisk*CLI> dahdi show channels
   Chan Extension  Context         Language   MOH Interpret        Blocked    State
 pseudo            default                    default                         In Service

asterisk*CLI> dahdi show status
Description                              Alarms  IRQ    bpviol CRC    Fra Codi Options  LBO
Wildcard TDM410P                         OK      0      0      0      CAS Unk           0 db (CSU)/0-133 feet (DSX-1)

asterisk*CLI> dahdi show version
DAHDI Version: 2.6.0 Echo Canceller: HWEC
ded
Сообщения: 15631
Зарегистрирован: 26 авг 2010, 19:00

Re: Настройка Wildcard TDM410P

Сообщение ded »

asterisk*CLI> dahdi show channels показал, что Астериск не знает ничего про FXO & FXS порты.
Теперь собственно вопрос почему через WEB не работает? Ему видимо не хватает group = 2?
Конечно!
Выполните скрипт
# setup-pstn
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

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

#!/bin/sh                                                                                                                                                                                           
# Version: 1.3                                                                                                                                                                                      
# Date: 03/09/10                                                                                                                                                                                    
#                                                                                                                                                                                                   
# Copyright (C) 2007 - 2010 Fonality Inc. (fonality.com)                                                                                                                                            
#                                                                                                                                                                                                   
# This program is free software; you can redistribute it and/or                                                                                                                                     
# modify it under the terms of the GNU General Public License                                                                                                                                       
# as published by the Free Software Foundation; either version 2                                                                                                                                    
# of the License, or (at your option) any later version.                                                                                                                                            
#                                                                                                                                                                                                   
# This program is distributed in the hope that it will be useful,                                                                                                                                   
# but WITHOUT ANY WARRANTY; without even the implied warranty of                                                                                                                                    
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                                                                                                     
# GNU General Public License for more details.                                                                                                                                                      
#                                                                                                                                                                                                   
# 1.0 - Kerry Garrison                                                                                                                                                                              
#                                                                                                                                                                                                   
# 1.1 - James Finstrom Rewrite... Setup PSTN if I did it!                                                                                                                                           
#                                                                                                                                                                                                   
# 1.2 - 2/16/10 - Kerry Garrison - Removed hardware check so a correct                                                                                                                              
#                 configuration gets written if a card has been removed                                                                                                                             
#                                                                                                                                                                                                   
# 1.3 - 3/9/10  - Kerry Garrison - Added code from Xorcom for better Astribank support                                                                                                              
#                 Xorcom code provided by Leonid Fainshtein                                                                                                                                         
#                 Changed /usr/sbin/dahdi_genconf to /usr/sbin/dahdi_genconf -F                                                                                                                     
#                 for proper FXS handling                                                                                                                                                           
                                                                                                                                                                                                    
PCI='d161: e159: 1057: 10b5: 1397: 1043: 0b0b: 1923:'                                                                                                                                               
USB='06e6: e4e4: 10c4:'                                                                                                                                                                             
                                                                                                                                                                                                    
function check_cards                                                                                                                                                                                
{                                                                                                                                                                                                   
for i in $PCI                                                                                                                                                                                       
do                                                                                                                                                                                                  
if [ "$(lspci -n -d $i)" != "" ]; then                                                                                                                                                              
echo "PCI Hardware found"                                                                                                                                                                           
HASHARDWARE=1                                                                                                                                                                                       
fi                                                                                                                                                                                                  
done                                                                                                                                                                                                
                                                                                                                                                                                                    
for i in $USB                                                                                                                                                                                       
do                                                                                                                                                                                                  
if [ "$(lsusb -d $i)" != "" ]; then                                                                                                                                                                 
echo "USB Hardware found"                                                                                                                                                                           
HASHARDWARE=1                                                                                                                                                                                       
# If Xorcom devices, dahdi needs some additional love here                                                                                                                                          
/usr/sbin/dahdi_registration on                                                                                                                                                                     
/usr/sbin/dahdi_genconf modules                                                                                                                                                                     
fi                                                                                                                                                                                                  
                                                                                                                                                                                                    
done                                                                                                                                                                                                
                                                                                                                                                                                                    
}                                                                                                                                                                                                   
# dahdi configuation                                                                                                                                                                                
function do_dahdi                                                                                                                                                                                   
{                                                                                                                                                                                                   
/usr/sbin/dahdi_cfg                                                                                                                                                                                 
amportal stop                                                                                                                                                                                       
sleep 2                                                                                                                                                                                             
/usr/sbin/dahdi_genconf -F                                                                                                                                                                          
#If you kill dahdi with asterisk running you may panic the kernel                                                                                                                                   
if [ "$(pgrep asterisk)" ]; then                                                                                                                                                                    
echo "Asterisk appears to still be running please stop asterisk and try again!"                                                                                                                     
exit                                                                                                                                                                                                
fi                                                                                                                                                                                                  
echo "Stopping Dahdi service..."                                                                                                                                                                    
service dahdi stop                                                                                                                                                                                  
sleep 1                                                                                                                                                                                             
echo "Starting Dahdi service..."                                                                                                                                                                    
service dahdi start                                                                                                                                                                                 
/usr/sbin/fxotune -s                                                                                                                                                                                
echo "Restarting Asterisk..."                                                                                                                                                                       
amportal start                                                                                                                                                                                      
asterisk -rx "dahdi show channels"                                                            
}                                                                                             
                                                                                              
# zaptel configuration - should be removed soon                                               
function do_zaptel                                                                            
{                                                                                             
/usr/sbin/ztcfg                                                                               
amportal stop                                                                                 
#If you kill zaptel with asterisk running you may panic the kernel                            
sleep 1                                                                                       
if [ "$(pgrep asterisk)" ]; then                                                              
echo "Asterisk appears to still be running please stop asterisk and try again!"               
exit                                                                                          
fi                                                                                            
/usr/sbin/genzaptelconf -d                                                                    
service zaptel stop                                                                           
service zaptel start                                                                          
                                                                                              
echo "Checking for zapata-auto.conf"                                                          
if [ -h /etc/asterisk/zapata-auto.conf ]                                                      
then                                                                                          
echo "No need to create symlink"                                                              
else                                                                                          
echo "Creating symlink for zapata-auto.conf"                                                  
ln -s /etc/asterisk/zapata-channels.conf /etc/asterisk/zapata-auto.conf                       
fi                                                                                            
amportal start                                                                                
/usr/sbin/fxotune -s                                                                          
asterisk -rx "zap show channels"                                                              
}                                                                                             
                                                                                              
                                                                                              
echo ""                                                                                       
echo "--------------------------------------------------------------"                         
echo "Detecting PSTN cards and USB PSTN Devices"                                              
echo "--------------------------------------------------------------"                         
echo ""                                                                                       
echo ""                                                                                       
check_cards                                                                                   
if [ "a$HASHARDWARE" == "a1" ]; then                                                          
echo "Hardware present!"                                                                      
else                                                                                          
echo "No Hardware found...writing configuration files..."                                     
fi                                                                                            
#check if we have a dahdi                                                                     
if [ -f /etc/asterisk/chan_dahdi.conf ]; then                                                 
#run the dahdi stuff                                                                          
do_dahdi                                                                                      
else                                                                                          
#run the zaptel stuff                                                                         
do_zaptel                                                                                     
fi  
<<
затем
# amportal stop
# service dahdi restart
# amportal start
asterisk*CLI> dahdi show channels ??
zerghack007
Сообщения: 50
Зарегистрирован: 01 июн 2011, 06:52

Re: Настройка Wildcard TDM410P

Сообщение zerghack007 »

Сделал как было написано, но не помогло.
На всякий случай покажу вывод команды setup-pstn.sh

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

# ./setup-pstn.sh

--------------------------------------------------------------
Detecting PSTN cards and USB PSTN Devices
--------------------------------------------------------------


PCI Hardware found
Hardware present!

Please wait...


STOPPING ASTERISK
All calls will be dropped once the timer hits 0. To cancel, press CTL-C
Asterisk ended with exit status 0
Asterisk shutdown normally.
Asterisk Stoppedrisk to Stop 120

STOPPING FOP SERVER
FOP Server Stopped
Stopping Dahdi service...
Unloading DAHDI hardware modules: done
Starting Dahdi service...
Loading DAHDI hardware modules:
  wctdm24xxp:                                              [  OK  ]

Running dahdi_cfg:                                         [  OK  ]
Cannot open /etc/fxotune.conf!
Restarting Asterisk...

Please wait...

SETTING FILE PERMISSIONS
Permissions OK

STARTING ASTERISK
Asterisk Started

STARTING FOP SERVER
FOP Server Started
   Chan Extension  Context         Language   MOH Interpret        Blocked    State
 pseudo            default                    default                         In Service

zerghack007
Сообщения: 50
Зарегистрирован: 01 июн 2011, 06:52

Re: Настройка Wildcard TDM410P

Сообщение zerghack007 »

Прочитал здесь, что DAHDI обязательно надо ставить до Asterisk-а. Это так?

xxp://asterisk-system.ru/asterisk/install-asterisk-1-8-on-centos-5-6.html
ded
Сообщения: 15631
Зарегистрирован: 26 авг 2010, 19:00

Re: Настройка Wildcard TDM410P

Сообщение ded »

Это так, но это не должно Вас волновать. судя по выхлопу - уровень драйверов ядра DAHDI определяется правильно:
Loading DAHDI hardware modules:
wctdm24xxp: [ OK ]
Стало быть дело только в настройке chan_dahdi.conf (dahdi_channels.conf)
Смотрите примеры, пробуйте, потом
CLI>module reload chan_dahdi.so

CLI>dahdi show channels

Должны появиться порты FXO & FXS
zerghack007
Сообщения: 50
Зарегистрирован: 01 июн 2011, 06:52

Re: Настройка Wildcard TDM410P

Сообщение zerghack007 »

ded писал(а):CLI>module reload chan_dahdi.so
Попробовал, но не помогло.


Получается след.
Есть два файла
1. sed '/ *;/d; / ;/d; /^$/d' chan_dahdi.conf

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

[trunkgroups]
[channels]
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
group=1
callgroup=1
pickupgroup=1

Он я так понял создан по умолчанию Asterisk-ом

2. sed '/ *;/d; / ;/d; /^$/d' chan_dahdi_additional.conf

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

signalling=fxo_ks
pickupgroup=
mailbox=777@default
immediate=no
echotraining=800
echocancelwhenbridged=no
echocancel=yes
context=from-internal
callprogress=no
callgroup=
callerid=device <777>
busydetect=no
busycount=7
accountcode=
channel=>2

Он правится Free-pbx когда веду настройки через Web-интерфейс

Когда так прописано аналоговый телефон не работает.

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

asterisk*CLI> dahdi show channels
   Chan Extension  Context         Language   MOH Interpret        Blocked    State
 pseudo            default                    default                         In Service


Я беру копирую все содержимое файла chan_dahdi_additional.conf и добавляю в конец файла chan_dahdi.conf

Проверяю

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

asterisk*CLI> dahdi show channels
   Chan Extension  Context         Language   MOH Interpret        Blocked    State
 pseudo            default                    default                         In Service
      2            from-internal              default                         In Service
Работает.


Получается не работает ссылка на этот файл?

Добавил в конец конфига chan_dahdi.conf ссылку на chan_dahdi_additional.conf

#include /etc/asterisk/chan_dahdi_additional.conf

пишется вместе с решектой.

Работает!
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH