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

chan_datacard + Ubuntu 10.04 lts

Оборудование 15 сообщений 26.12.2010 00:21 - 02.01.2011 18:02
#1 26.12.2010 00:21

chan_datacard + Ubuntu 10.04 lts


привет. столкнулся с пролемой компиляции chan_datacard в Ubuntu 10.04 amd64:
после make вижу такое (приведены только последние строки):
Code:
...
/usr/include/bits/types.h:42: error: declaration for parameter ‘__uint32_t’ but no such parameter
/usr/include/bits/types.h:41: error: declaration for parameter ‘__int32_t’ but no such parameter
/usr/include/bits/types.h:40: error: declaration for parameter ‘__uint16_t’ but no such parameter
/usr/include/bits/types.h:39: error: declaration for parameter ‘__int16_t’ but no such parameter
/usr/include/bits/types.h:38: error: declaration for parameter ‘__uint8_t’ but no such parameter
/usr/include/bits/types.h:37: error: declaration for parameter ‘__int8_t’ but no such parameter
/usr/include/bits/types.h:34: error: declaration for parameter ‘__u_long’ but no such parameter
/usr/include/bits/types.h:33: error: declaration for parameter ‘__u_int’ but no such parameter
/usr/include/bits/types.h:32: error: declaration for parameter ‘__u_short’ but no such parameter
/usr/include/bits/types.h:31: error: declaration for parameter ‘__u_char’ but no such parameter
/usr/include/bits/errno.h:43: error: declaration for parameter ‘__errno_location’ but no such parameter
chan_datacard.c:722: error: expected ‘{’ at end of input
make: *** [chan_datacard.o] Ошибка 1

проблема, как я понял, у многих встречалась но решения не нашёл.
в 8.04 всё скомпилилось нормально.

chan_datacard из svn, ядро и 32 и 33 ветки пробовал. версия компилятора?
#2 26.12.2010 02:46

чей chan_datacard ?
#4 26.12.2010 18:07

а оно разве там обновляется?
_________________
Успехов!
#5 26.12.2010 23:08

..а где еще можно взять chan_datacard?Smile
#7 27.12.2010 08:35

спасибо, тут тоже make выдаёт ошибку:
Code:
channel.c: In function ‘channel_indicate’:
channel.c:1178: error: ‘AST_CONTROL_SRCCHANGE’ undeclared (first use in this function)
channel.c:1178: error: (Each undeclared identifier is reported only once
channel.c:1178: error: for each function it appears in.)
make: *** [channel.o] Ошибка 1
#8 27.12.2010 10:41

астерикс то какой?
древний поди как гавно мамонта?

ну закоментарь эту строчку BigGrin3
#9 27.12.2010 11:33

* версии 1.6.2 - из репов.
сейчас попробую из исходников поставить 1.8.
комментирование строки не помогло - там надо всю секцию переписывать видимо, либо строку удалять. не стал, - заодно и обновлю Астериск.
спасибо.
отпишусь.

Added after 45 minutes:

asterisk 1.8 - всё отлично, спасибо! Smile
#10 27.12.2010 15:23

удаление от комментирования ничем для компилятора не отличается.

проверил, в этих версиях есть такой enum
asterisk-1.6.2.13
asterisk-1.8.2-rc1

т.к. это enum то сделать #if можно только по номеру версии

счас покопаю репозиторий на тему когда ж он появился то...

Added after 1 hours 41 minutes:

посмотрел, AST_CONTROL_SRCCHANGE появился в r295843
по номеру версии определить есть он или нет невозможно.
я пока его закоментарил, так что скоро появится куча недовольных,
что это у них за "Don't know how to indicate condition 25" в логе BigGrin3

придётся в configure этот вопрос решать.
#11 02.01.2011 03:14

итак.
теперь при установленном MobilePartner конфиг такой:
Code:
[datacard0]
audio=/dev/ttyUSB_utps_modem ; tty port for audio connection; no default value
data=/dev/ttyUSB_utps_pcui ; tty port for AT commands; no default value

есть вызов в обе стороны, но нет голоса, да еще и через 20 секунд сбрасывается разговор.

если удалить MobilePartner, то конфиг такой:
Code:
[datacard0]
audio=/dev/ttyUSB1 ; tty port for audio connection; no default value
data=/dev/ttyUSB2 ; tty port for AT commands; no default value

при звонке SIP-datacard-GSM:
Code:
Executing [s@to-mobile:2] Dial("SIP/6013-00000000", "Datacard/datacard0/+79XXX(mobnumber)") in new stack
-- Called datacard0/+79XXX(mobnumber)

*CLI> -- Datacard/datacard0-0100000000 is making progress passing it to SIP/6013-00000000

CLI> -- Datacard datacard0 has disconnected
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@to-mobile:3] Hangup("SIP/6013-00000000", "") in new stack
== Spawn extension (to-mobile, s, 3) exited non-zero on 'SIP/6013-00000000'
-- Datacard datacard0 trying to connect on /dev/ttyUSB2...
[Jan 2 06:19:55] WARNING[31670]: chan_datacard.c:164 opentty: Unable to open '/dev/ttyUSB2': No such file or directory

-- Datacard datacard0 trying to connect on /dev/ttyUSB2...
-- Datacard datacard0 has connected, initializing...
-- Datacard datacard0 initialized and ready
[Jan 2 06:20:12] NOTICE[31753]: at_response.c:1040 at_response_ccwa: Call waiting is disabled on device datacard0

ну а при звонке с мобильного на симку разговор сбрасывается сразу же и получаю вот что:
Code:
*CLI> == Starting Datacard/datacard0-0100000001 at datacard-incoming,datacard-incoming,1 failed so falling back to exten 's'
-- Executing [s@datacard-incoming:1] Dial("Datacard/datacard0-0100000001", "SIP/6013/6013") in new stack
== Using SIP RTP CoS mark 5
-- Called 6013/6013
-- SIP/6013-00000001 is ringing
== Using SIP RTP CoS mark 5
-- Executing [s@to-mobile:1] Answer("SIP/6013-00000002", "") in new stack
[Jan 2 06:22:38] WARNING[31986]: channel.c:1195 channel_indicate: [Datacard/datacard0-0100000001] Don't know how to indicate condition 22
-- SIP/6013-00000001 answered Datacard/datacard0-0100000001
[Jan 2 06:22:38] WARNING[31986]: channel.c:1195 channel_indicate: [Datacard/datacard0-0100000001] Don't know how to indicate condition 26
-- Executing [s@to-mobile:2] Dial("SIP/6013-00000002", "Datacard/datacard0/+79XXX(mobnumber)") in new stack
[Jan 2 06:22:38] WARNING[31987]: channel.c:366 channel_request: Request to call on device 'datacard0' which can not make call at this moment
[Jan 2 06:22:38] WARNING[31987]: app_dial.c:2030 dial_exec_full: Unable to create channel of type 'Datacard' (cause 44 - Requested channel not available)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@to-mobile:3] Hangup("SIP/6013-00000002", "") in new stack
== Spawn extension (to-mobile, s, 3) exited non-zero on 'SIP/6013-00000002'
== Spawn extension (datacard-incoming, s, 1) exited non-zero on 'Datacard/datacard0-0100000001'
#12 02.01.2011 17:14

Про отрыв модема только что писали тут http://asteriskforum.ru/viewtopic.php?t=5042&start=1575
и тут http://asteriskforum.ru/viewtopic.php?t=7492
И могут быть другие причины.

И как так получается, что входящий на
Starting Datacard/datacard0-0100000001 at datacard-incoming,datacard-incoming,1

и создавший ногу на "SIP/6013-00000002" после ответа выполняет
Dial("Datacard/datacard0/+79XXX(mobnumber)")

???

в диалплане каша?
#13 02.01.2011 17:40

спасибо.
по ссылкам увидел инфу о глючной прошивке. действительно, прошил этой прошивкой - 11.609.18.00.00.B418 и теперь вызов идёт, но голос слышен только из sip-телефона. вот extensions.conf:
Code:
[internal]
exten => _X.,1,Dial(Datacard/r1/+79XXX(mobnumber))
exten => _X.,n,Hangup

[datacard-incoming]
exten => s,1,Dial(SIP/6013/6010)
exten => s,n,Hangup()


где 6013 - транк на внешний сервер, с которого/на котором звоню через sip-телефон.
#15 02.01.2011 18:02

ок, спасибо, буду смотреть firewall.. просто всё в одной локалке, два сервера.
при звонке с сотового на sip звонок срывается через 20-30 сек. (модем из системы не "вываливается", просто срывается звонок.
сейчас еще попробую и туда же буду писать, спасибо.