T38modem(SIP) сборка под OS WINDOWS

Обсуждение всех общих вопросов, касающихся IP-телефонии

T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Пн сен 15, 2008 3:21 pm

Чтобы не идти по кривому пути и скомпилировать современный T38modem
1. Дистрибутивы брать здесь:
Код: Выделить всё
svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/trunk ptlib
svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/trunk opal
cvs -z3 -d:pserver:anonymous@t38modem.cvs.sourceforge.net:/cvsroot/t38modem co -P t38modem

2. Рабочие папки с кодами:
Код: Выделить всё
c:\ptlib
c:\opal
c:\t38modem

expat сейчас НЕ НУЖЕН
Если у Вас полная студия, то приемлимое SDK как правило уже установлено.
3. Вам нужны файлы:
ptlib.dll
opal.dll
t38modem.exe
4. Если вы хотите иметь поддержку G.711 fax, то дополнительно надо компилировать SpanDSP.
Инструкции и проект для этого в Opal:
Код: Выделить всё
C:\opal\plugins\fax\fax_spandsp\ReadMe.txt
C:\opal\plugins\fax\fax_spandsp\spandsp_fax_2005.sln

Саму Spandsp брать здесь
http://www.soft-switch.org/downloads/spandsp/
или здесь
http://www.soft-switch.org/downloads/snapshots/spandsp/
распаковывать WinRAR
Вам нужны будут файлы:
libspandsp.dll
SpanDSPFax_ptplugin.dll
5. Если вы хотите поддержку других кодеков кроме G.711 (на пару с T.38), надо компилировать плагины Opal
Можно также использовать --fake-audio, в т.ч. G729
6. Текущая версия модема поддерживает: FAX T.38, FAX OVER G.711, sip регистрацию,proxy,любые опаловские кодеки, фичу fake-audio, всевозможные ре-инвайты между G.711fax и T.38 fax, а также ре-инвайты между голосовыми кодеками при необходимости, полную совместимость с программой VentaFax включая практически все голосовые фичи и цветные факсы и много чего еще.

===============================================================================
P.S. Оригинал. Копия тут http://www.asteriskforum.ru/viewtopic.php?t=2821 :wink:
-----------------------------------------------------------------------------
anest писал(а):а что именно вы компилите под винду? астериск? :o

После многочисленных экспериментов, методом проб и ошибок,
Удалось собрать T38modem(SIP)+OPAL+PWLIB под OS Microsoft Windows,
а также сформулировать четкие положения что надо и что не надо делать. Данная инструкция по сборке работает на:
Microsoft Windows XP SP3
Microsoft Windows Server 2003 SP2
Для работы модема необходимо:
1. t38modem.exe 272кб
2. opal.dll 5.79мб
3. PTLib.dll 2.13мб
4. libexpat.dll 148кб

Программа без проблем переносится на другой PC указанных ОС. В этом случае необходима установка Microsoft.NET Framework 2.0 Service Pack 1 (дистрибутив 23,6мб)

T38modem в Windows работает точно также как и в Линукс.
Описание сборки под Линукс здесь:
http://www.voipinfo.ru/forum/viewtopic.php?t=11767

1.Установка Visual C++,SDK,NET Framework
Для успешной компиляции старая среда VC++6 не годится.Более того желательно, чтобы она вообще не была установлена на PC, иначе с ней придется бороться в процессе компиляции модема.SDK:новая,что for Windows Server 2008 не годится,там отсутствует ряд файлов и она слишком новая,старая XP SP2 SDK также нежелательна, в принципе с ней компилируется, но будет очень много предупреждений,оптимально Microsoft ® Windows Server® 2003 R2 Platform SDK,для работы модема также необходим NET Framework 2.0 SP1 (SP1-существенно).
1)Устанавливаем Microsoft Visual C++ 2005 Express Edition
http://msdn.microsoft.com/ru-ru/visualc/default.aspx
http://msdn.microsoft.com/ru-ru/vstudio/aa700736(en-us).aspx
2) http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
Следуя этой инструкции устанавливаем Platform SDK.
http://msdn.microsoft.com/ru-ru/vstudio/aa700755(en-us).aspx
Вам нужна именно эта SDK:
Microsoft ® Windows Server® 2003 R2 Platform SDK Web Install
или
Windows® Server 2003 R2 Platform SDK Full Download
(Ссылки доступны на лицензионной ОС Windows)
После установки существенно:
Код: Выделить всё
Add the paths to the appropriate subsection:
Executable files: C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
Include files: C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
Library files: C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib

3)Устанавливаем Microsoft.NET Framework 2.0 Service Pack 1
Он устанавливается либо через Windows Update, либо непосредственно с сайта Microsoft (google легко найдет нужную ссылку).
2.Устанавливаем необходимые вспомогательные инструменты и пакеты.
1) flex и bison -необходим для компиляции ptlib.
Скачиваем архив http://www.opalvoip.org/bin/flexbison.zip , распаковываем и кладем папку Tools в C:\Tools .
2) expat -если вы не установите этот пакет, то при компиляции Opal выскочит "ошибка PXML".
По ссылке http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277 скачиваем файл expat_win32bin_1_95_8.exe , устанавливаем expat в папку C:\ Expat-1.95.8
Не следует скачивать версию expat2.0.1, т.к. она плохо схватывается конфигуратором ptlib.
3) cvsnt -эта программа необходима для поддержки команды cvs в Windows
Скачиваем WinCvs2_0_2-4.zip:
http://www.wincvs.org/download.html#WINCVS
http://prdownloads.sourceforge.net/cvsgui/WinCvs2_0_2-4.zip?download
Из полученного архива берем один файл: cvsnt_setup.exe и устанавливаем.Второй файл-это графическая оболочка, для работы "cvs" cvsnt достаточно.
3.Скачиваем дистрибутивы pwlib,opal,t38modem.
Код: Выделить всё
D:\>cd c:\
C:\>cvs -z9 -d :pserver:anonymous@openh323.cvs.sourceforge.net:/cvsroot/openh323 co ptlib_win32
C:\>cvs -z9 -d :pserver:anonymous@openh323.cvs.sourceforge.net:/cvsroot/openh323 co -D "5/21/2007 23:59:59" opal
C:\>cvs -z9 -d :pserver:anonymous@openh323.cvs.sourceforge.net:/cvsroot/openh323 co -D "6/25/2007 23:59:59" t38modem

Дата opal существенна -с более поздним opal модем не компилируется. Дата t38modem для Win также существенна, дело в том, что поддержка opal была добавлена 28.05.07
* Revision 1.15 2007/05/28 13:44:53 vfrolov
* Added OPAL support
Однако 17.07.2007-20.07.2007 были сделаны нек. изменения:
* Revision 1.16 2007/07/17 10:05:26 vfrolov
* Added Unix98 PTY support
* Added OPAL example
И с этими изменениями модем под Windows уже не компилируется, поэтому 28.05.07<Date<17.07.07
При этом условии все получится.
После скачивания мы получим 3 папки с корректными дистрибутивами.
C:\ pwlib
C:\ opal
C:\ t38modem

4.Донастраиваем среду Microsoft Visual C++ 2005 Express Edition
Tools->Options->Projects and Solutions->VC++ Directories
Сверху в обязательном порядке должно присутствовать(нужно дописать) стедующее:
Код: Выделить всё
Executable files:
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
C:\tools
C:\pwlib\lib
C:\opal\lib
Include files:
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
C:\pwlib\include
C:\opal\include
Library files:
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib
C:\pwlib\lib
C:\opal\lib

Если у вас неважно где присутствуют пути типа "C:\Program Files\Microsoft Visual Studio\VC98...",то эти пути надо убрать, эти пути приведут лишь к ошибкам.
5.Проводим предварительный тест configure.exe, дабы застраховать себя от дальнейших ошибок.
Из командной строки:
Код: Выделить всё
C:\>cd pwlib
C:\pwlib>configure.exe > test.txt

В файле test.txt мы должны увидеть следующее.
Код: Выделить всё
PWLib Configure 1.12 - opened configure.ac
Located DNS Resolver at c:\program files\microsoft platform sdk for windows server 2003 r2\
Located IPv6 Support at c:\program files\microsoft platform sdk for windows server 2003 r2\include\
Located QoS Support at c:\program files\microsoft platform sdk for windows server 2003 r2\include\
Located ODBC support at c:\program files\microsoft platform sdk for windows server 2003 r2\include\
Searching C:\
Located Windows Expat XML at c:\expat-1.95.8\
Searching D:\
...
                Windows Expat XML enabled

Существенно, чтобы первые строчки ссылались на "sdk for windows server 2003 r2" и "Expat XML" был бы обнаружен, если первые строчки ссылаются на другие пути, напр. в VC98, или обнаружено что-то еще в каких-то иных местах, ваша задача всеми известными методами (архивирование файлов, перенос на другой PC,убиение файлов) обеспечить недоступность "лишнего" и доступность "нужного" на момент компиляции, т.е. картинка в test.txt должна быть похожа на мою, иначе успех не гарантирован и двигаться дальше нельзя.
6.Компиляция в Microsoft Visual C++ 2005 Express Edition
1)PTLib Static
Код: Выделить всё
File->Open->Project/Solution->C:\pwlib\pwlib_2005.sln
Solution Configurations: Release Win32
PTLib Static->Build...
File->Close Solution

2)MergeSym
Код: Выделить всё
File->Open->Project/Solution->C:\pwlib\Tools\MergeSym\MergeSym_2005.vcproj
Solution Configurations: Release Win32
Debug->Start Debugging...
File->Close Solution

Результатом будет файл C:\pwlib\Lib\MergeSym.exe Он необходим для компиляции dll в п.3),но скомпилировать его можно лишь после выполнения п.1)
3)PTLib DLL (ptlib.dll)
Код: Выделить всё
File->Open->Project/Solution->C:\pwlib\pwlib_2005.sln
Solution Configurations: Release Win32
PTLib DLL->Build...
File->Close Solution

4)OPAL Static и OPAL_dll (opal.dll)
Важно: необходимо использовать именно проект opal_samples_2005.sln (для проверки:там внутри есть OpenPhone).Если вы случайно сделаете все в проекте opal_2005.sln,то у вас внешне все включая модем скомпилируется "правильно",но opal.dll получится дефектной и больше по размеру, и модем при запуске будет выдавать "Catastrofic failure".
Код: Выделить всё
File->Open->Project/Solution->C:\opal\opal_samples_2005.sln
Solution Configurations: Release Win32
OPAL Static->Build...
OPAL_dll->Build...
File->Close Solution

5)T38modem (t38modem.exe)
Важно:необходимо использовать проект из папки t38modem\opal
Код: Выделить всё
File->Open->Project/Solution->C:\t38modem\opal\t38modem_2005.vcproj
Solution Configurations: Release Win32
Debug->Start Debugging...
File->Close Solution

Результатом будет файл C:\t38modem\opal\Release\t38modem.exe
7. Сборка приложения:
Если все прошло успешно, то имеем 4 файла:
Код: Выделить всё
C:\t38modem\opal\Release\t38modem.exe
C:\opal\lib\opal.dll
C:\pwlib\Lib\PTLib.dll
C:\Expat-1.95.8\Libs\libexpat.dll

Эти 4 файла собственно и представляют собой законченное win32 приложение.
Создаем папку напр. C:\MyModem и копируем эти 4 файла туда.
8.Проверяем модем:
Запускаем файл t38modem.exe без параметров.
Если вы все сделали правильно, то увидите примерно следующее:
Код: Выделить всё
T38Modem Version 1.0.0 by OpenH323 Project on Windows XP (v5.1.2600-i586 (Model=15 Stepping=6))
2008/09/15 13:55:07.484     T38Modem            Version 1.0.0 by OpenH323 Project on Windows XP (v5.1.2600-i586 (Model=15 Stepping=6)) at 2008/9/15 13:55:07.484
Waiting for incoming H.323 calls from tcp$*:1720
Searching for gatekeeper...
No gatekeeper found.
Waiting for incoming SIP calls from tcp$*:5060,udp$*:5060

Если вы вдруг увидели такое:
Код: Выделить всё
T38Modem Version 1.0.0 ...
Catastrophic failure, PProcess::Current() = NULL!!

это означает, что вы невнимательно п.6 подпункт 4) и opal.dll у вас скомпилировался неправильно.
9.Устанавливаем и настраиваем Null-modem emulator (com0com)
1)Скачиваем http://sourceforge.net/projects/com0com/
2)Устанавливаем (соглашаемся с автоматической установкой всех драйверов что предложит)
3)Настраиваем Пуск->Программы->com0com->Setup
У нас должны получиться 2 Virtual Port Pair (будем запускать 2 модема):
Код: Выделить всё
Virtual Port Pair 0 COM14 CNCB0
Virtual Port Pair 1 COM15 CNCB1

CNCB0 и CNCB1 -оставляем как предлагает программа, они смотрят в сторону T38modem
COM14 и COM15 -назначаем свободные порты, они смотрят в сторону нашей факс-программы, имена должны быть нормальные, ибо VentaFax напр. просто не увидит кривое имя CNCA0.
10.Формируем справочные файлы (для удобства)
1)В папке где у нас находится t38modem.exe выполняем команду:
Код: Выделить всё
C:\MyModem>t38modem.exe -h > help.txt

в рез-те получаем справочный файл help.txt где подробно описаны опции запуска модема
2)Открываем файл C:\t38modem\README в WORD и сохраняем в удобочитаемом формате ReadMe.doc в папке C:\MyModem.
11.Конфигурируем модем(ы), для чего:
В рабочей папке C:\MyModem создаем файл modem.bat и пишем внутрь него следующее:
Код: Выделить всё
t38modem.exe -tt --no-h323 -u T38modem --sip-old-asn --sip-listen udp$192.168.11.2:6060 --sip-redundancy 2 -p \\.\CNCB0,\\.\CNCB1  --route "modem:.*=sip:<dn>@192.168.11.5:5060" --route "sip:.*=modem:<dn>"

--no-h323 //работаем по SIP
-u T38modem //username
--sip-old-asn //как правило без этого параметра факсы если и ходят,то плохо
--sip-listen udp$192.168.11.2:6060 //сидим и принимаем звонки на порту udp6060 192.168.11.2-наш ip
-p \\.\CNCB0,\\.\CNCB1 //запускаем 2модема на виртуальных портах CNCB0 и CNCB1 (что соотв. com14 и com15 согласно настройкам com0com)
--route "modem:.*=sip:<dn>@192.168.11.5:5060" //все исходящие звонки направляем на 192.168.11.5 порт 5060 (напр.на Asterisk)
12.Запускаем модемы, для чего:
Жмем на файл modem.bat, модемы работают.
12А.Настраиваем SIP-сервер (Asterisk).
К сожалению, на настоящий момент T38modem не поддерживает авторизацию по паролю и регистрацию на SIP-сервере, поэтому единственным понятным способом посылать факсы на внешнего SIP-провайдера является использование его совместно с Asterisk.
Корректное использование с Asterisk в части исходящей связи стало возможным благодаря dimas с http://www.asteriskforum.ru
Описание настройки и правки Asterisk можно найти тут:
http://www.voipinfo.ru/forum/viewtopic.php?t=11767
14.Настраиваем факсовую программу.
1) Можем просто указывать COM14, COM15 если программа это позволяет (VentaFax).
2) Можем через панель управления создать "Стандартный модем 14400" и посадить его на COM14(COM15) и пользоваться всеми прелестями (и недостатками) TAPI. Для Microsoft Fax без этого не обойтись.
15.Принимаем-отправляем факсы.
Последний раз редактировалось Дима77 Чт июн 24, 2010 8:23 pm, всего редактировалось 2 раз(а).
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Сообщение Дима77 » Пн сен 22, 2008 3:49 am

При использовании WIN-версии модема обнаружены некоторые негативные моменты.
Модем неплохо работает на незагруженном (пользовательском) PC. Но если нагрузка на PC в плане выполнения разного рода коммуникационно-телефонных программ достаточно велика, то он начинает "включать тормоза". Визуально это выражается в периодической задержке вывода букв на экран в дебаг-сообщениях. Практически начинает слегка путать AT-команды при взаимодействии с факс-программой, что приводит к нек. кратковременным сбоям.
Есть 3 версии:
1) WIN виноват
2) некоторая недоработанность com0com
3) неадекватное поведение AMD-процессора (в моем конкретном случае).
Я бы не торопился ругать винды. Больше склоняюсь к третьей версии. Дело в том, что за этим AMD неоднократно были замечены странные вещи в таком духе при выполнении разного рода программ.
Говоря по-русски: "дай ка я секундочку подумаю, а потом сделаю быстро-быстро, а если вы так не хотите работать, так катитесь"
Конкретно на этом PC не умеют долго работать winPcap и одна разработка, основанная на CAPI. Тогда как на INTEL все OK.
Ясно одно: надо оценивать ситуацию с т.зр. конкретного случая.
P.S. при использовании T38modem в AndLinux на этом же PC при той же загрузке глюков не замечено.
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Сообщение cloudcoder » Сб июн 06, 2009 3:39 am

второй день пытаюсь скомпилировать. выползают ошибки.
действую строго по инструкции.
6.Компиляция в Microsoft Visual C++ 2005 Express Edition
1)PTLib Static
Код: Выделить всё
Код:
File->Open->Project/Solution->C:\pwlib\pwlib_2005.sln
Solution Configurations: Release Win32
PTLib Static->Build...
File->Close Solution

Код: Выделить всё
Error   1   error C2593: 'operator <<' is ambiguous   c:\pwlib\include\ptlib\object.h   1826
Error   2   error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'PInt64' (or there is no acceptable conversion)   c:\pwlib\include\ptlib\object.h   1826
Error   3   error C2593: 'operator <<' is ambiguous   c:\pwlib\include\ptlib\object.h   1832
Error   4   error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'PInt64' (or there is no acceptable conversion)   c:\pwlib\include\ptlib\object.h   1832
Error   5   error C2593: 'operator <<' is ambiguous   c:\pwlib\include\ptlib\object.h   1838
Error   6   error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'PUInt64' (or there is no acceptable conversion)   c:\pwlib\include\ptlib\object.h   1838
Error   7   error C2593: 'operator <<' is ambiguous   c:\pwlib\include\ptlib\object.h   1844
Error   8   error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'PUInt64' (or there is no acceptable conversion)   c:\pwlib\include\ptlib\object.h   1844

что я неправильно делаю?
cloudcoder
Новичок
 
Сообщения: 2
Зарегистрирован: Сб июн 06, 2009 3:33 am

Сообщение Дима77 » Сб июн 06, 2009 7:01 pm

Значит что-то упустили, позарились не на ту SDK, не на ту версию чего-либо, у вас в системе что-то лишнее, не так прописали пути в VC2005, если исполнять буквально, а я все моменты описал, то все получится. Проверяйте все по пунктам.

Чем понимать ваши ошибки, не проще ли взять современную версию. Хотя там счас такой бардак, что с транками могут быть глюки. А так приблизительно по инструкции.

http://sourceforge.net/projects/opalvoip

http://sourceforge.net/projects/t38modem/
Код: Выделить всё
svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/trunk ptlib
svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/trunk opal
cvs -z3 -d:pserver:anonymous@t38modem.cvs.sourceforge.net:/cvsroot/t38modem co -P t38modem
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение d@vinchi » Сб дек 26, 2009 6:12 am

С первой попытки собрать модем естественно не удалась...
1. Ссылку на cvs Вы указали, а на svn забыли? кучу времени убил пока нешел Slik-Subversion-1.6.6-win32.msi
2. В пункте 3 сказано что после скачки дистрибутивов получаем C:\pwlib C:\opal C:\t38modem, все так только pwlib скачивается в папку ptlib, пути в студии указал естественно на ptlib?
3. Пункт 5 тоже значительно отличается, у меня получилось так:
Код: Выделить всё
PWLib Configure 1.18 - opened configure.ac
Located DNS Resolver at c:\program files\microsoft platform sdk for windows server 2003 r2\
Searching C:\
Located Expat XML at c:\expat-1.95.8\
Located IPv6 Support at c:\program files\microsoft platform sdk for windows server 2003 r2\
Located QoS Support at c:\program files\microsoft platform sdk for windows server 2003 r2\
Located Direct Show Support at c:\program files\microsoft platform sdk for windows server 2003 r2\
Located ODBC support at c:\program files\microsoft platform sdk for windows server 2003 r2\
Located Speech API at c:\program files\microsoft platform sdk for windows server 2003 r2\include\atl\


Features:
                          Version enabled
             Advanced Windows API enabled
                       Byte Order enabled
                    ANSI C++ bool enabled
                Semaphore Support enabled
                   Plugin Support enabled
                     DNS Resolver enabled
                       Cyrus SASL DISABLED
                        Open LDAP DISABLED due to absence of feature sasl
                         Open SSL DISABLED
                        Expat XML enabled
                     IPv6 Support enabled
     Config file protocol support enabled
                      URL Support enabled
                     HTTP Support enabled
               HTTP forms Support enabled
             HTTP service Support enabled
                           Jabber enabled
                     VXML Support enabled
                   XMLRPC Support enabled
                     SOAP Support enabled
                       Speech API enabled
                      ASN Support enabled
                     STUN Support enabled
             pipe channel Support enabled
   DTMF encoding/decoding support enabled
           SOCKS protocol support enabled
             FTP protocol support enabled
            SNMP protocol support enabled
          Telnet protocol support enabled
        remote connection support enabled
                   Serial Support enabled
                POP3/SMTP Support enabled
                    Sound support enabled
                 WAV file support enabled
                      QoS Support enabled
                    Video Support enabled
               Video file support enabled
        FFMpeg video file support enabled
        Application share support enabled
         Simple DirectMedia Layer DISABLED
             Direct Sound Support DISABLED
              Direct Show Support enabled
                     ODBC support enabled

Configuration completed.

4. ну а дальше дело не пошло, результат сборки MergeSym:
Код: Выделить всё
------ Rebuild All started: Project: MergeSym, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'MergeSym', configuration 'Release|Win32'
Compiling...
MergeSym.cxx
Linking...
ptlibs.lib(osutils.obj) : error LNK2019: unresolved external symbol __imp__MessageBoxA@16 referenced in function "public: void __thiscall PTraceInfo::OpenTraceFile(char const *)" (?OpenTraceFile@PTraceInfo@@QAEXPBD@Z)
ptlibs.lib(assert.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
ptlibs.lib(win32.obj) : error LNK2019: unresolved external symbol __imp__AttachThreadInput@12 referenced in function "public: void __thiscall PThread::Win32AttachThreadInput(void)" (?Win32AttachThreadInput@PThread@@QAEXXZ)
ptlibs.lib(win32.obj) : error LNK2019: unresolved external symbol __imp__GetWindowThreadProcessId@8 referenced in function "int __stdcall EnumWindowsProc(struct HWND__ *,long)" (?EnumWindowsProc@@YGHPAUHWND__@@J@Z)
ptlibs.lib(assert.obj) : error LNK2001: unresolved external symbol __imp__GetWindowThreadProcessId@8
ptlibs.lib(win32.obj) : error LNK2019: unresolved external symbol __imp__GetClassNameA@12 referenced in function "int __stdcall EnumWindowsProc(struct HWND__ *,long)" (?EnumWindowsProc@@YGHPAUHWND__@@J@Z)
ptlibs.lib(assert.obj) : error LNK2001: unresolved external symbol __imp__GetClassNameA@12
ptlibs.lib(win32.obj) : error LNK2019: unresolved external symbol __imp__EnumWindows@8 referenced in function "public: virtual bool __thiscall PProcess::IsGUIProcess(void)const " (?IsGUIProcess@PProcess@@UBE_NXZ)
ptlibs.lib(assert.obj) : error LNK2001: unresolved external symbol __imp__EnumWindows@8
ptlibs.lib(win32.obj) : error LNK2019: unresolved external symbol __imp__GetUserNameA@8 referenced in function "public: class PString __thiscall PProcess::GetUserNameA(void)const " (?GetUserNameA@PProcess@@QBE?AVPString@@XZ)
ptlibs.lib(ptlib.obj) : error LNK2019: unresolved external symbol __imp__SetFileSecurityA@12 referenced in function "int __cdecl FileSecurityPermissions(class PFilePath const &,int)" (?FileSecurityPermissions@@YAHABVPFilePath@@H@Z)
ptlibs.lib(ptlib.obj) : error LNK2019: unresolved external symbol __imp__LookupAccountSidA@28 referenced in function "int __cdecl FileSecurityPermissions(class PFilePath const &,int)" (?FileSecurityPermissions@@YAHABVPFilePath@@H@Z)
ptlibs.lib(ptlib.obj) : error LNK2019: unresolved external symbol __imp__GetAce@12 referenced in function "int __cdecl FileSecurityPermissions(class PFilePath const &,int)" (?FileSecurityPermissions@@YAHABVPFilePath@@H@Z)
ptlibs.lib(ptlib.obj) : error LNK2019: unresolved external symbol __imp__GetAclInformation@16 referenced in function "int __cdecl FileSecurityPermissions(class PFilePath const &,int)" (?FileSecurityPermissions@@YAHABVPFilePath@@H@Z)
ptlibs.lib(ptlib.obj) : error LNK2019: unresolved external symbol __imp__GetSecurityDescriptorDacl@16 referenced in function "int __cdecl FileSecurityPermissions(class PFilePath const &,int)" (?FileSecurityPermissions@@YAHABVPFilePath@@H@Z)
ptlibs.lib(ptlib.obj) : error LNK2019: unresolved external symbol __imp__GetFileSecurityA@20 referenced in function "int __cdecl FileSecurityPermissions(class PFilePath const &,int)" (?FileSecurityPermissions@@YAHABVPFilePath@@H@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__AllocateAndInitializeSid@44 referenced in function "public: __thiscall SecurityID::SecurityID(struct _SID_IDENTIFIER_AUTHORITY *,unsigned char,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)" (??0SecurityID@@QAE@PAU_SID_IDENTIFIER_AUTHORITY@@EKKKKKKKK@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__LookupAccountNameA@28 referenced in function "public: __thiscall SecurityID::SecurityID(char const *,char const *,char *,unsigned long *,enum _SID_NAME_USE *)" (??0SecurityID@@QAE@PBD0PADPAKPAW4_SID_NAME_USE@@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__FreeSid@4 referenced in function "public: __thiscall SecurityID::~SecurityID(void)" (??1SecurityID@@QAE@XZ)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__GetLengthSid@4 referenced in function "public: unsigned long __thiscall SecurityID::GetLength(void)const " (?GetLength@SecurityID@@QBEKXZ)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__IsValidSid@4 referenced in function "public: bool __thiscall SecurityID::IsValid(void)const " (?IsValid@SecurityID@@QBE_NXZ)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "public: __thiscall RegistryKey::~RegistryKey(void)" (??1RegistryKey@@QAE@XZ)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegEnumKeyA@16 referenced in function "public: int __thiscall RegistryKey::EnumKey(int,class PString &)" (?EnumKey@RegistryKey@@QAEHHAAVPString@@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegEnumValueA@32 referenced in function "public: int __thiscall RegistryKey::EnumValue(int,class PString &)" (?EnumValue@RegistryKey@@QAEHHAAVPString@@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegDeleteKeyA@8 referenced in function "public: int __thiscall RegistryKey::DeleteKey(class PString const &)" (?DeleteKey@RegistryKey@@QAEHABVPString@@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegDeleteValueA@8 referenced in function "public: int __thiscall RegistryKey::DeleteValue(class PString const &)" (?DeleteValue@RegistryKey@@QAEHABVPString@@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegQueryValueExA@24 referenced in function "public: int __thiscall RegistryKey::QueryValue(class PString const &,class PString &)" (?QueryValue@RegistryKey@@QAEHABVPString@@AAV2@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegSetValueExA@24 referenced in function "public: int __thiscall RegistryKey::SetValue(class PString const &,class PString const &)" (?SetValue@RegistryKey@@QAEHABVPString@@0@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegCreateKeyExA@36 referenced in function "unsigned long __cdecl SecureCreateKey(struct HKEY__ *,class PString const &,struct HKEY__ * &)" (?SecureCreateKey@@YAKPAUHKEY__@@ABVPString@@AAPAU1@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__SetSecurityDescriptorDacl@16 referenced in function "unsigned long __cdecl SecureCreateKey(struct HKEY__ *,class PString const &,struct HKEY__ * &)" (?SecureCreateKey@@YAKPAUHKEY__@@ABVPString@@AAPAU1@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__AddAccessAllowedAce@16 referenced in function "unsigned long __cdecl SecureCreateKey(struct HKEY__ *,class PString const &,struct HKEY__ * &)" (?SecureCreateKey@@YAKPAUHKEY__@@ABVPString@@AAPAU1@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__InitializeAcl@12 referenced in function "unsigned long __cdecl SecureCreateKey(struct HKEY__ *,class PString const &,struct HKEY__ * &)" (?SecureCreateKey@@YAKPAUHKEY__@@ABVPString@@AAPAU1@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__InitializeSecurityDescriptor@8 referenced in function "unsigned long __cdecl SecureCreateKey(struct HKEY__ *,class PString const &,struct HKEY__ * &)" (?SecureCreateKey@@YAKPAUHKEY__@@ABVPString@@AAPAU1@@Z)
ptlibs.lib(wincfg.obj) : error LNK2019: unresolved external symbol __imp__RegOpenKeyExA@20 referenced in function "public: __thiscall RegistryKey::RegistryKey(class PString const &,enum RegistryKey::OpenMode)" (??0RegistryKey@@QAE@ABVPString@@W4OpenMode@0@@Z)
ptlibs.lib(ethsock.obj) : error LNK2019: unresolved external symbol __imp__StartServiceA@12 referenced in function "public: __thiscall PWin32PacketSYS::PWin32PacketSYS(void)" (??0PWin32PacketSYS@@QAE@XZ)
ptlibs.lib(ethsock.obj) : error LNK2019: unresolved external symbol __imp__CloseServiceHandle@4 referenced in function "public: __thiscall PWin32PacketSYS::PWin32PacketSYS(void)" (??0PWin32PacketSYS@@QAE@XZ)
ptlibs.lib(ethsock.obj) : error LNK2019: unresolved external symbol __imp__OpenServiceA@12 referenced in function "public: __thiscall PWin32PacketSYS::PWin32PacketSYS(void)" (??0PWin32PacketSYS@@QAE@XZ)
ptlibs.lib(ethsock.obj) : error LNK2019: unresolved external symbol __imp__OpenSCManagerA@12 referenced in function "public: __thiscall PWin32PacketSYS::PWin32PacketSYS(void)" (??0PWin32PacketSYS@@QAE@XZ)
..\..\bin\MergeSym\Release/MergeSym.exe : fatal error LNK1120: 34 unresolved externals
Build log was saved at "file://c:\ptlib\bin\MergeSym\Release\BuildLog.htm"
MergeSym - 39 error(s), 0 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Я естественно среду Visual C++ не знаю и не сразу понял что она от меня хочет... Решается следующим образом, меню Project - Properties - Configurations Projectes - Linker - Input и добавляем туда user32.lib, gdi32.lib, Advapi32.lib, после чего все чудесно компилируется...

Еще была засада с файлом "ruby_msvc_wrapper.cxx" - файл не найден по пути ..\..\..\чего-то там, решилось переносом (дублированием) папки C:\opal\src\Ruby\ в C:\svn-trunk\opal\src\Ruby\ после чего компиляция завершилась успешно...

Проблем больше вроде не возникало... Собирал на win2k8 SP2 x86...
Аватара пользователя
d@vinchi
Постоянный визитер
 
Сообщения: 25
ICQ: 276801195
Зарегистрирован: Вс дек 20, 2009 12:06 am
Карма: + 0 -

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Вс дек 27, 2009 5:29 am

>а на svn забыли? кучу времени убил пока нешел
ага, а я еще и виноват,я должен был свое потратить и подробно тебе все расписать :wink:
но ведь нашел же, тода svn не нужен был.
>указал естественно на ptlib
естественно
>Пункт 5 тоже значительно отличается
вобще-то я писал что надо "подбить" чтоб не отличался,
м. б. поэтому тебе пришлось чего-то добавлять дальше, потому что я в linker ничего никогда не добавлял
и я никогда не компилирую под 2008-ми виндами.
>Еще была засада с файлом "ruby_msvc_wrapper.cxx"
Ну за такие вещи надо разработчику(а не мне) прямым текстом высказывать, пускай сам свои ляпы исправляет, я даже париться не стал а просто накатал ему (до того как прочел о твоем подвиге):
http://sourceforge.net/mailarchive/forum.php?thread_name=DE1C872D09F745CF8146A48C7F3EB004%40d&forum_name=opalvoip-user
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение d@vinchi » Вс дек 27, 2009 6:22 am

Дима, к тебе никаких притензий, это я описал с чем я столкнулся - мож кому поможет...

Все сделал как написано, модем даже регистрируется на IP-PBX (хотя появилось подозрение что переодически регистрация слетает - пока не уверен), но ни исходящие ни входящие не пошли через Microsoft Fax, вотя в езде где надо настроил автоприем с 1го звонка и разрешил прием\передачу... запускаю из файла t38modem.cmd:
Код: Выделить всё
t38modem.exe -t --no-h323 -u 125 --sip-listen udp$192.168.0.4:5060 --sip-register 125@192.168.0.16,125 --sip-audio -p \\.\CNCB0,\\.\CNCB1 --route "modem:.*=sip:<dn>@192.168.0.16:5060" --route "sip:.*=modem:<dn>"

на исходящие говорит "нет гудка в линии", на входящие просто не отвечает... и как корректно заверщать рабо с модемом, а то при каждом перезапуске Ctrl+C, но думаю это не очень хорошо...
Аватара пользователя
d@vinchi
Постоянный визитер
 
Сообщения: 25
ICQ: 276801195
Зарегистрирован: Вс дек 20, 2009 12:06 am
Карма: + 0 -

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Вс дек 27, 2009 9:22 am

--sip-audio ???
а spandsp за тебя дядя Steve и дядя Роберт будут компилировать?
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение d@vinchi » Вс дек 27, 2009 11:50 pm

Дмитрий, опишите как скомпилировать spandsp? В итоге должна получиться DLL которую надо положить рядом с модемом?
Аватара пользователя
d@vinchi
Постоянный визитер
 
Сообщения: 25
ICQ: 276801195
Зарегистрирован: Вс дек 20, 2009 12:06 am
Карма: + 0 -

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Пн дек 28, 2009 1:42 am

c:\opal\plugins\fax\fax_spandsp\ReadMe.txt
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение d@vinchi » Пн дек 28, 2009 4:44 pm

После компиляции spandsp надо пересобрать Opal.dll?
Аватара пользователя
d@vinchi
Постоянный визитер
 
Сообщения: 25
ICQ: 276801195
Зарегистрирован: Вс дек 20, 2009 12:06 am
Карма: + 0 -

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Пн дек 28, 2009 5:51 pm

нет
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение d@vinchi » Вт дек 29, 2009 12:56 am

Скомпилировал spandsp, получил две DLL как написано в c:\opal\plugins\fax\fax_spandsp\ReadMe.txt:
opal/plugins/Release/SpanDSPFax_pwplugin.dll
opal/plugins/fax/fax_spandsp/spandsp-0.0.6/src/Release/libspandsp.dll
кинул их к модему, исправил строку запуска модема:
t38modem.exe -tt --no-h323 -u 125 --sip-audio G.711-ALaw-64k --sip-listen udp$192.168.0.4:6060 --sip-register 125@192.168.0.16,125 -p \\.\CNCB0,\\.\CNCB1 --route "modem:.*=sip:<dn>@192.168.0.16:5060" --route "sip:.*=modem:<dn>"
в результате:
1. пошли исходящие звонки, удаленный факс начинает хендшейк, но дальше дело не идет, трассировка запуска модема и исходящий факс:
Код: Выделить всё
T38Modem Version 1.2.1
 (OPAL-3.7.1/3.7beta1, PTLIB-2.7.1/2.7beta1) by Vyacheslav Frolov on Windows Vista (v6.0.6002-i586 (Model=65 Stepping=3))

2009/12/29 00:44:14.454                T38Modem         Version 1.2.1 by Vyacheslav Frolov on Windows Vista (v6.0.6002-i586 (Model=65 Stepping=3)) with PTLib (v2.7beta1) at 2009/12/29 0:44:14.454
2009/12/29 00:44:14.454                T38Modem T38Modem Version 1.2.1 (OPAL-3.7.1/3.7beta1, PTLIB-2.7.1/2.7beta1) on Windows Vista (v6.0.6002-i586 (Model=65 Stepping=3))
2009/12/29 00:44:14.469                T38Modem ModemEndPoint::ModemEndPoint
Disabled H.323 protocol
2009/12/29 00:44:14.469            CNCB0(b):d50 ModemEndPoint::OnMyCallback command=addmodem extra=10
2009/12/29 00:44:14.469            CNCB0(b):d50 ModemEndPoint::OnMyCallback request={
command=addmodem
response=confirm
modemtoken=CNCB0
}
2009/12/29 00:44:14.485            CNCB0(b):d50 CurrentRxQueue=4096
2009/12/29 00:44:14.485            CNCB0(b):d50 PseudoModemBody::OpenC0C opened \\.\CNCB0
2009/12/29 00:44:14.485            CNCB1(b):b6c ModemEndPoint::OnMyCallback command=addmodem extra=10
2009/12/29 00:44:14.485            CNCB1(b):b6c ModemEndPoint::OnMyCallback request={
command=addmodem
response=confirm
modemtoken=CNCB1
}
2009/12/29 00:44:14.500            CNCB1(b):b6c CurrentRxQueue=4096
2009/12/29 00:44:14.500            CNCB1(b):b6c PseudoModemBody::OpenC0C opened \\.\CNCB1
Enabled audio formats for SIP (in preference order):
  G.711-ALaw-64k
Waiting for incoming SIP calls from udp$192.168.0.4:6060
Route table:
  modem:.*=sip:<dn>@192.168.0.16:5060
  sip:.*=modem:<dn>
2009/12/29 00:44:14.170            CNCB0(i):9c0 --> Started
2009/12/29 00:44:14.170            CNCB0(o):c54 <-- Started
2009/12/29 00:44:14.170            CNCB1(i):7e0 --> Started
2009/12/29 00:44:14.170            CNCB1(o):3d4 <-- Started
2009/12/29 00:44:14.232            CNCB1(e):bac --> AT
2009/12/29 00:44:14.232            CNCB1(e):bac <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:14.232            CNCB0(e):b38 --> AT
2009/12/29 00:44:14.232            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:14.248            CNCB1(e):bac --> ATE0V1
2009/12/29 00:44:14.248            CNCB1(e):bac <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:14.263            CNCB1(e):bac --> AT
2009/12/29 00:44:14.263            CNCB1(e):bac <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:14.263            CNCB0(e):b38 --> ATE0V1
2009/12/29 00:44:14.263            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:14.279            CNCB1(e):bac --> ATS0=0
2009/12/29 00:44:14.279            CNCB1(e):bac <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:14.295            CNCB0(e):b38 --> AT
2009/12/29 00:44:14.295            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:14.310            CNCB0(e):b38 --> ATS0=0
2009/12/29 00:44:14.310            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:15.341            CNCB0(e):b38 --> AT&FS0=0E0V1Q0
2009/12/29 00:44:15.341            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:15.529            CNCB0(e):b38 --> AT
2009/12/29 00:44:15.591            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:15.716            CNCB0(e):b38 --> ATS7=60&D3
2009/12/29 00:44:15.716            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:15.826            CNCB0(e):b38 --> ATX4M0L0
2009/12/29 00:44:15.826            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:15.998            CNCB0(e):b38 --> AT+FCLASS=1
2009/12/29 00:44:15.998            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:16.545            CNCB0(e):b38 --> AT
2009/12/29 00:44:16.545            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:16.654            CNCB0(e):b38 --> ATX3
2009/12/29 00:44:16.654            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:44:16.920            CNCB0(e):b38 --> ATDT 9266812
2009/12/29 00:44:16.920            CNCB0(e):b38 ModemEndPoint::OnMyCallback command=dial extra=3
2009/12/29 00:44:16.920            CNCB0(e):b38 PseudoModemQ::Dequeue CNCB0
2009/12/29 00:44:16.920            CNCB0(e):b38 MyManager::OnMyCallback SetUpCall(modem:, 9266812@\\.\CNCB0)
2009/12/29 00:44:16.920            CNCB0(e):b38 ModemEndPoint::MakeConnection modem:
2009/12/29 00:44:16.920            CNCB0(e):b38 ModemConnection::ModemConnection Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:16.935            CNCB0(e):b38 ModemConnection::SetUpConnection Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
Call[Ce02ca2631] from modem:125 to 9266812@\\.\CNCB0, route to sip:udp$192.168.0.16:5060
2009/12/29 00:44:16.935            CNCB0(e):b38 Call[Ce02ca2631] from modem:125 to 9266812@\\.\CNCB0, route to sip:udp$192.168.0.16:5060
2009/12/29 00:44:16.935            CNCB0(e):b38 ModemConnection::GetMediaFormats Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:16.951            CNCB0(e):b38 ModemEndPoint::GetMediaFormats
2009/12/29 00:44:16.951            CNCB0(e):b38 ModemConnection::GetMediaFormats Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:16.951            CNCB0(e):b38 ModemEndPoint::GetMediaFormats
2009/12/29 00:44:16.951            CNCB0(e):b38 ModemConnection::GetMediaFormats Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:16.966            CNCB0(e):b38 ModemEndPoint::GetMediaFormats
2009/12/29 00:44:16.966            CNCB0(e):b38 ModemConnection::GetMediaFormats Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:16.966            CNCB0(e):b38 ModemEndPoint::GetMediaFormats
2009/12/29 00:44:16.966            CNCB0(e):b38 ModemEndPoint::OnMyCallback request={
calltoken=modem:/Ce02ca2631/0
localpartyname=
command=dial
response=confirm
number=9266812
modemtoken=CNCB0
}
2009/12/29 00:44:17.607                Pool:364 ModemConnection::SetAlerting Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0] 9266812@192.168.0.16:5060 0
2009/12/29 00:44:44.591                Pool:364 ModemConnection::GetMediaFormats Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:44.606                Pool:364 ModemEndPoint::GetMediaFormats
2009/12/29 00:44:44.606                Pool:364 ModemConnection::GetMediaFormats Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:44.622                Pool:364 ModemEndPoint::GetMediaFormats
Open OpalRTPMediaStream-Source-G.711-ALaw-64k for Call[Ce02ca2631]
2009/12/29 00:44:44.637                Pool:364 ModemEngineBody::Attach audioEngine stConnectWait
2009/12/29 00:44:44.637                Pool:364 CNCB0 AudioEngine Attach
2009/12/29 00:44:44.637                Pool:364 CNCB0 AudioEngine OnAttach Attached
2009/12/29 00:44:44.653                Pool:364 CNCB0 AudioEngine ChangeModemClass to mcFax
2009/12/29 00:44:44.653                Pool:364 CNCB0 AudioEngine OnChangeModemClass to mcFax
2009/12/29 00:44:44.669                Pool:364 ModemEngineBody::Attach audioEngine Attached
2009/12/29 00:44:44.669                Pool:364 CNCB0 AudioEngine OpenIn: open
Open AudioModemMediaStream-Sink-PCM-16 for Call[Ce02ca2631]
2009/12/29 00:44:44.684                Pool:364 ModemConnection::GetMediaFormats Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:44.684                Pool:364 ModemEndPoint::GetMediaFormats
2009/12/29 00:44:44.684                Pool:364 CNCB0 AudioEngine OpenOut: open
Open AudioModemMediaStream-Source-PCM-16 for Call[Ce02ca2631]
Open OpalRTPMediaStream-Sink-G.711-ALaw-64k for Call[Ce02ca2631]
2009/12/29 00:44:44.700                Pool:364 ModemConnection::GetMediaFormats Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:44.716                Pool:364 ModemEndPoint::GetMediaFormats
2009/12/29 00:44:44.716                Pool:364 ModemConnection::SetConnected Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:44.731                Pool:364 ModemConnection::OnEstablished Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:44:44.731                Pool:364 ModemEngineBody::Request stConnectWait request={
calltoken=modem:/Ce02ca2631/0
command=established
}
2009/12/29 00:44:45.778            CNCB0(e):b38 ModemEndPoint::OnMyCallback command=requestmode extra=4
2009/12/29 00:44:45.778            CNCB0(e):b38 ModemConnection::RequestMode: Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0] fax-no-force
2009/12/29 00:44:45.778            CNCB0(e):b38 ModemEndPoint::OnMyCallback request={
calltoken=modem:/Ce02ca2631/0
mode=fax-no-force
command=requestmode
response=confirm
modemtoken=CNCB0
}
2009/12/29 00:45:26.916            CNCB0(e):b38 Reset state stReqModeAckWait
2009/12/29 00:45:26.916            CNCB0(e):b38 ModemEndPoint::OnMyCallback command=clearcall extra=1
2009/12/29 00:45:26.916            CNCB0(e):b38 ModemConnection::OnReleased Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:45:26.916            CNCB0(e):b38 CNCB0 AudioEngine CloseIn: close
Close AudioModemMediaStream-Sink-PCM-16 for Call[Ce02ca2631]
2C0l0o9s/e1 2O/p2a9l R0T0P:M4e5d:i2a6S.t9r3e2a  m - S o u r c e - G . 7C1N1C-BA0L(aew)-:6b43k8  fCoNrC BC0a lAlu[dCieo0E2ncgai2n6e3 1C]l
oCsleoOsuet :O pcalloRsTePMediaStream-Sink-G.711-ALaw-64k for Call[Ce02ca2631]

Close AudioModemMediaStream-Source-PCM-16 for Call[Ce02ca2631]
2009/12/29 00:45:26.948            CNCB0(e):b38 ModemEndPoint::OnMyCallback request={
calltoken=modem:/Ce02ca2631/0
command=clearcall
response=confirm
modemtoken=CNCB0
}
2009/12/29 00:45:26.948            CNCB0(e):b38 --> AT
2009/12/29 00:45:26.948            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
Call[Ce02ca2631] cleared
2009/12/29 00:45:26.979          OnRelease:3036 Call[Ce02ca2631] cleared
2009/12/29 00:45:27.057            CNCB0(e):b38 --> ATH0
2009/12/29 00:45:27.057            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:45:27.166            CNCB0(e):b38 --> ATH0
2009/12/29 00:45:27.166            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:45:27.338            CNCB0(e):b38 --> AT+FCLASS=0
2009/12/29 00:45:27.338            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:45:27.838       Opal Garbage:3176 ModemConnection::~ModemConnection Call[Ce02ca2631]-EP<modem>[modem:/Ce02ca2631/0]
2009/12/29 00:45:27.838       Opal Garbage:3176 ModemEngineBody::_Detach No t38engine was Attached
2009/12/29 00:45:27.838       Opal Garbage:3176 CNCB0 AudioEngine Detach
2009/12/29 00:45:27.854       Opal Garbage:3176 CNCB0 AudioEngine OnChangeModemClass to mcUndefined
2009/12/29 00:45:27.854       Opal Garbage:3176 CNCB0 AudioEngine OnDetach Detached
2009/12/29 00:45:27.854       Opal Garbage:3176 ModemEngineBody::_Detach audioEngine Detached
2009/12/29 00:45:27.870       Opal Garbage:3176 ModemEngineBody::Request stCommand request={
calltoken=modem:/Ce02ca2631/0
command=clearcall
}
2009/12/29 00:45:27.885       Opal Garbage:3176 CNCB0 T38Engine ~T38Engine
2009/12/29 00:45:27.885            CNCB0(e):b38 --> AT
2009/12/29 00:45:27.901            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:45:28.010            CNCB0(e):b38 --> AT
2009/12/29 00:45:28.010            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:45:28.088            CNCB0(e):b38 --> AT
2009/12/29 00:45:28.088            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:45:28.104            CNCB0(e):b38 --> ATE0V1
2009/12/29 00:45:28.104            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:45:28.120            CNCB0(e):b38 --> AT
2009/12/29 00:45:28.120            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 00:45:28.135            CNCB0(e):b38 --> ATS0=0
2009/12/29 00:45:28.135            CNCB0(e):b38 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }

2. при звонке на факс идут гудки, сигнала ответа факса неслыно, трассировка входящего факса:
Код: Выделить всё
2009/12/29 01:28:12.190               Pool:4056 ModemEndPoint::MakeConnection modem:125
2009/12/29 01:28:12.190               Pool:4056 ModemConnection::ModemConnection Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
Call[Ca60cff191] from sip:125@192.168.0.16 to sip:125@192.168.0.4:6060, route to modem:125
2009/12/29 01:28:12.205               Pool:4056 Call[Ca60cff191] from sip:125@192.168.0.16 to sip:125@192.168.0.4:6060, route to modem:125
2009/12/29 01:28:12.221               Pool:4056 ModemConnection::SetUpConnection Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:12.221               Pool:4056 ModemConnection::SetUpConnection dstNum=125 srcNum=2265921 ...
2009/12/29 01:28:12.221               Pool:4056 ModemEngineBody::Request stCommand request={
calltoken=modem:125/Ca60cff191/0
dstnum=125
srcnum=2265921
command=call
}
2009/12/29 01:28:12.252               Pool:4056 ... Ok
2009/12/29 01:28:12.252            CNCB0(e):f20 <--  {
  0d 0a 52 49 4e 47 0d 0a                            ..RING.. }
2009/12/29 01:28:12.377            CNCB0(e):f20 --> AT&FS0=0E0V1Q0
2009/12/29 01:28:12.377            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:28:12.487            CNCB0(e):f20 --> AT
2009/12/29 01:28:12.487            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:28:12.596            CNCB0(e):f20 --> ATS7=60&D3
2009/12/29 01:28:12.596            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:28:12.705            CNCB0(e):f20 --> ATX4M0L0
2009/12/29 01:28:12.705            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:28:12.893            CNCB0(e):f20 --> AT+FCLASS=1
2009/12/29 01:28:12.893            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:28:13.440            CNCB0(e):f20 --> AT
2009/12/29 01:28:13.440            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:28:13.627            CNCB0(e):f20 --> AT+FCLASS=1
2009/12/29 01:28:13.627            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:28:14.174            CNCB0(e):f20 --> AT
2009/12/29 01:28:14.174            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:28:14.455            CNCB0(e):f20 --> ATA
2009/12/29 01:28:14.455            CNCB0(e):f20 ModemEndPoint::OnMyCallback command=answer extra=2
2009/12/29 01:28:14.471            CNCB0(e):f20 ModemConnection::AcceptIncoming Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:14.471            CNCB0(e):f20 ModemConnection::OnConnected Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:14.487            CNCB0(e):f20 ModemConnection::GetMediaFormats Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:14.487            CNCB0(e):f20 ModemEndPoint::GetMediaFormats
2009/12/29 01:28:14.502            CNCB0(e):f20 ModemConnection::GetMediaFormats Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:14.518            CNCB0(e):f20 ModemEndPoint::GetMediaFormats
2009/12/29 01:28:14.518            CNCB0(e):f20 CNCB0 AudioEngine OpenOut: open
Open AudioModemMediaStream-Source-PCM-16 for Call[Ca60cff191]
2009/12/29 01:28:14.533            CNCB0(e):f20 ModemConnection::OnEstablished Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:14.549            CNCB0(e):f20 ModemEngineBody::Request stConnectWait request={
calltoken=modem:125/Ca60cff191/0
command=established
}
Open OpalRTPMediaStream-Sink-G.711-ALaw-64k for Call[Ca60cff191]
2009/12/29 01:28:14.580            CNCB0(e):f20 ModemConnection::GetMediaFormats Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:14.580            CNCB0(e):f20 ModemEndPoint::GetMediaFormats
2009/12/29 01:28:14.596            CNCB0(e):f20 ModemConnection::GetMediaFormats Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:14.612            CNCB0(e):f20 ModemEndPoint::GetMediaFormats
Open OpalRTPMediaStream-Source-G.711-ALaw-64k for Call[Ca60cff191]
2009/12/29 01:28:14.627            CNCB0(e):f20 ModemEngineBody::Attach audioEngine stConnectHandle
2009/12/29 01:28:14.627            CNCB0(e):f20 CNCB0 AudioEngine Attach
2009/12/29 01:28:14.643            CNCB0(e):f20 CNCB0 AudioEngine OnAttach Attached
2009/12/29 01:28:14.643            CNCB0(e):f20 CNCB0 AudioEngine ChangeModemClass to mcFax
2009/12/29 01:28:14.658            CNCB0(e):f20 CNCB0 AudioEngine OnChangeModemClass to mcFax
2009/12/29 01:28:14.658            CNCB0(e):f20 ModemEngineBody::Attach audioEngine Attached
2009/12/29 01:28:14.674            CNCB0(e):f20 CNCB0 AudioEngine OpenIn: open
Open AudioModemMediaStream-Sink-PCM-16 for Call[Ca60cff191]
2009/12/29 01:28:14.690            CNCB0(e):f20 ModemEndPoint::OnMyCallback request={
calltoken=modem:125/Ca60cff191/0
command=answer
response=confirm
modemtoken=CNCB0
}
2009/12/29 01:28:15.736            CNCB0(e):f20 ModemEndPoint::OnMyCallback command=requestmode extra=4
2009/12/29 01:28:15.736            CNCB0(e):f20 ModemConnection::RequestMode: Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0] fax
2009/12/29 01:28:15.752            CNCB0(e):f20 ModemEndPoint::OnMyCallback request={
calltoken=modem:125/Ca60cff191/0
mode=fax
command=requestmode
response=confirm
modemtoken=CNCB0
}
2009/12/29 01:28:15.783       PSimpleThread:888 ModemConnection::GetMediaFormats Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:15.799       PSimpleThread:888 ModemEndPoint::GetMediaFormats
2009/12/29 01:28:15.815       PSimpleThread:888 ModemConnection::GetMediaFormats Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:15.815       PSimpleThread:888 ModemEndPoint::GetMediaFormats
2009/12/29 01:28:15.830       PSimpleThread:888 CNCB0 AudioEngine CloseOut: close
Close OpalRTPMediaStream-Sink-G.711-ALaw-64k for Call[Ca60cff191]
Close AudioModemMediaStream-Source-PCM-16 for Call[Ca60cff191]
2009/12/29 01:28:15.861       PSimpleThread:888 CNCB0 AudioEngine CloseIn: close
Close AudioModemMediaStream-Sink-PCM-16 for Call[Ca60cff191]
Close OpalRTPMediaStream-Source-G.711-ALaw-64k for Call[Ca60cff191]
Open OpalRTPMediaStream-Source-T.38 for Call[Ca60cff191]
2009/12/29 01:28:15.893       PSimpleThread:888 ModemConnection::GetMediaFormats Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:15.908       PSimpleThread:888 ModemEndPoint::GetMediaFormats
2009/12/29 01:28:15.908       PSimpleThread:888 CNCB0 T38Engine OpenOut: open
Open T38ModemMediaStream-Source-T.38 for Call[Ca60cff191]
Open OpalRTPMediaStream-Sink-T.38 for Call[Ca60cff191]
2009/12/29 01:28:15.940       PSimpleThread:888 ModemEngineBody::Attach t38engine stReqModeAckWait
2009/12/29 01:28:15.940       PSimpleThread:888 CNCB0 T38Engine Attach
2009/12/29 01:28:15.955       PSimpleThread:888 CNCB0 T38Engine OnAttach Attached
2009/12/29 01:28:15.955       PSimpleThread:888 CNCB0 T38Engine ChangeModemClass to mcFax
2009/12/29 01:28:15.971       PSimpleThread:888 CNCB0 T38Engine OnChangeModemClass to mcFax
2009/12/29 01:28:15.971       PSimpleThread:888 ModemEngineBody::Attach t38engine Attached
2009/12/29 01:28:15.986       PSimpleThread:888 CNCB0 T38Engine OpenIn: open
Open T38ModemMediaStream-Sink-T.38 for Call[Ca60cff191]
2009/12/29 01:28:46.688  PTLib Housekeeper:3824 SIP     Failed to receive ACK!
2009/12/29 01:28:46.688          OnRelease:1904 CNCB0 T38Engine CloseIn: close
Close T38ModemMediaStream-Sink-T.38 for Call[Ca60cff191]
Close OpalRTPMediaStream-Source-T.38 for Call[Ca60cff191]
Close OpalRTPMediaStream-Sink-T.38 for Call[Ca60cff191]
2009/12/29 01:28:46.720          OnRelease:1904 CNCB0 T38Engine CloseOut: close
Close T38ModemMediaStream-Source-T.38 for Call[Ca60cff191]
2009/12/29 01:28:46.751          OnRelease:1904 ModemConnection::OnReleased Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
Call[Ca60cff191] cleared
2009/12/29 01:28:46.767          OnRelease:1904 Call[Ca60cff191] cleared
2009/12/29 01:28:46.845       Opal Garbage:3684 ModemConnection::~ModemConnection Call[Ca60cff191]-EP<modem>[modem:125/Ca60cff191/0]
2009/12/29 01:28:46.845       Opal Garbage:3684 CNCB0 T38Engine Detach
2009/12/29 01:28:46.860       Opal Garbage:3684 CNCB0 T38Engine OnChangeModemClass to mcUndefined
2009/12/29 01:28:46.860       Opal Garbage:3684 CNCB0 T38Engine OnDetach Detached
2009/12/29 01:28:46.876       Opal Garbage:3684 CNCB0 T38Engine ResetModemState stateModem(3) != stmIdle
2009/12/29 01:28:46.876       Opal Garbage:3684 ModemEngineBody::_Detach t38engine Detached
2009/12/29 01:28:46.892       Opal Garbage:3684 CNCB0 AudioEngine Detach
2009/12/29 01:28:46.892       Opal Garbage:3684 CNCB0 AudioEngine OnChangeModemClass to mcUndefined
2009/12/29 01:28:46.907       Opal Garbage:3684 CNCB0 AudioEngine OnDetach Detached
2009/12/29 01:28:46.907       Opal Garbage:3684 ModemEngineBody::_Detach audioEngine Detached
2009/12/29 01:28:46.923       Opal Garbage:3684 ModemEngineBody::Request stSendAckWait request={
calltoken=modem:125/Ca60cff191/0
command=clearcall
}
2009/12/29 01:28:46.938       Opal Garbage:3684 CNCB0 T38Engine ~T38Engine
2009/12/29 01:28:46.954            CNCB0(e):f20 ModemEndPoint::OnMyCallback command=clearcall extra=1
2009/12/29 01:28:46.970            CNCB0(e):f20 ModemEndPoint::OnMyCallback request={
calltoken=modem:125/Ca60cff191/0
command=clearcall
response=reject
modemtoken=CNCB0
}
2009/12/29 01:28:47.001            CNCB0(e):f20 <--  {
  0d 0a 45 52 52 4f 52 0d  0a                        ..ERROR.. }
2009/12/29 01:29:27.578            CNCB0(e):f20 --> 0 bytes of binary
2009/12/29 01:29:27.578            CNCB0(e):f20 --> AT
2009/12/29 01:29:27.578            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:27.703            CNCB0(e):f20 --> ATH0
2009/12/29 01:29:27.703            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:27.812            CNCB0(e):f20 --> ATH0
2009/12/29 01:29:27.812            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:27.984            CNCB0(e):f20 --> AT+FCLASS=0
2009/12/29 01:29:27.984            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:28.531            CNCB0(e):f20 --> AT
2009/12/29 01:29:28.531            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:28.640            CNCB0(e):f20 --> AT
2009/12/29 01:29:28.640            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:28.718            CNCB0(e):f20 --> AT
2009/12/29 01:29:28.718            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:28.734            CNCB0(e):f20 --> ATE0V1
2009/12/29 01:29:28.734            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:28.749            CNCB0(e):f20 --> AT
2009/12/29 01:29:28.749            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }
2009/12/29 01:29:28.765            CNCB0(e):f20 --> ATS0=0
2009/12/29 01:29:28.765            CNCB0(e):f20 <--  {
  0d 0a 4f 4b 0d 0a                                  ..OK.. }

есть предположения что не так?
Аватара пользователя
d@vinchi
Постоянный визитер
 
Сообщения: 25
ICQ: 276801195
Зарегистрирован: Вс дек 20, 2009 12:06 am
Карма: + 0 -

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Вт дек 29, 2009 1:45 pm

> --sip-audio G.711-ALaw-64k
можете его не задавать вообще, по умолчанию будет ulaw+alaw, но если нужен только alaw, то все правильно
>--sip-listen udp$192.168.0.4:6060
от греха подальше я бы написал так(чтобы исключить возможную путаницу с сетевыми интерфейсами)
--sip-listen udp$*:6060
и замените 6060 на что нибудь более потребное, скажем 5061, 5060 не рекомендую, т.к. не исключено что у вас там чего-нибудь еще понаставлено на 5060 (default)
Но суть не в этом.

>пошли исходящие звонки, ..., но дальше дело не идет
>при звонке на факс ..., сигнала ответа факса неслыно
да не подсовывайте вы мне эти логи, я их все равно не читаю...все и так ясно :wink:
все корректно, вы его запускаете по t38, а t38 у вас нету.
Согласен, без моей помощи вам не обойтись(ибо этого нет в хэлпе).
Надо предписать модему не реагировать на t38 re-invite и не пытаться делать t38 re-invite.
Самый элементарный вариант,тупо гарантирующий работу только по g711 такой:
Код: Выделить всё
--route "modem:.*=sip:<dn>@192.168.0.16:5060;OPAL-Disable-T38-Mode"
--route "sip:.*=modem:<dn>;OPAL-Disable-T38-Mode"
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение d@vinchi » Вт дек 29, 2009 6:42 pm

подправил запуск модема согласно Вашим рекомендациям- исходящие факсы пошли!!!
с входящими надо еще что-то докрутить... по прежнему при звонке на факс идут гудки, ответа факса и сигнала факса нет, логи не прикладываю, т.к. Вы их все-орвно не смотрите... Дмитрий, я уже начинаю верить в успешность этого дела, надеюсь Вы поможе и входящие факсы подкрутить...
Аватара пользователя
d@vinchi
Постоянный визитер
 
Сообщения: 25
ICQ: 276801195
Зарегистрирован: Вс дек 20, 2009 12:06 am
Карма: + 0 -

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Вт дек 29, 2009 7:37 pm

>идут гудки, ответа факса и сигнала факса нет
идут гудки?
или кто-то снял трубку а в ответ-тишина?
м.б. просто вы в настройках факс программы забыли поставить AutoAnswer
это ж не t38, там все на уровне голоса g711 происходит.
программа сняла трубку и вы должны услышать факс
ну проверьте с ventafax+auto+голосовое приветствие в конце концов (используйте автоопределение команд модема).
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение d@vinchi » Вт дек 29, 2009 7:59 pm

>или кто-то снял трубку а в ответ-тишина?
да, сейчас уже именно так, тинина секунд 10-15 потом отбой...
в настройках службы факсов обоим модемам разрешено принимать и отправлять факсы, авто ответ с 1-го звонка - мож в этом дело, т.е. разрулить модемы один чисто на прием второй чисто на отправку?

смущает отсутствие писка факса при ответе, в голосовом факсе именно так и должно быть, но нету...
отправлял факсы на автомате, т.е. аппаратный факс на автомате набирает номер и как только получает коннект сразу начинает пищать в линию (т.е. однозначно попадает в 10 сек. тишины) - даже так факс не уходит со статусом - нет ответа удаленного факса...
Аватара пользователя
d@vinchi
Постоянный визитер
 
Сообщения: 25
ICQ: 276801195
Зарегистрирован: Вс дек 20, 2009 12:06 am
Карма: + 0 -

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Вт дек 29, 2009 8:56 pm

Не, ну а че в гадалки играть.
VentaFax+Auto+Реплика+Факс
Если не услышите реплику, то будете искать почему голос не проходит, но это сами.
Я ж не знаю как ваша сеть устроена, да и не интересно знать.
Можете конечно попробовать другую string option вместо disable для входящих, но это не принципиально если точно знаете что у вас G711fax
;OPAL-No-Force-T38-Mode
//модем сам не делает t38 re-invite но способен ответить на входящий t38 re-invite
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение d@vinchi » Ср дек 30, 2009 4:22 am

Опять пол ночи проплясал с бубном вокруг модема - а он так и не начал принимать входящие...
что было сделано: поставил VentaFax, настоил - отправка идет, приема нет... после ответа тишина и отбой сек через 10... сначала гнал на встроенный фаер, думал уж совсем шифер сполз, ну не идет голос в сторону мини-атс и хоть тресни... тогда поставил FaxBoom рядом, факсы идут и туда и обратно без проблем, настройки в брандмауера одинаковые для обоих прог... тут уж решил ковырнуть глубще и отсниферить что там в трафике творится и возможно обнаружил баг в t38modem или мне такие исходники попались или я хз знаю что еще...
в общем суть проблемы - в ответах модема 100 Trying и 180 Ringing на первый INVITE от миниатс кривой заголовок Via, кривизна заключаеется в отстутсвии точки c запятой между параметром rport и branch, выглядит она вот так:
Код: Выделить всё
Via: SIP/2.0/UDP 192.168.0.16:5060;rport=5060branch=z9hG4bK-4b3acfaa-ddbb32d6-2a45860d;received=192.168.0.16

в результате моя миниатс не шлет модему OK и не начинает RTP сессию, а продолжает слать INVITE... это только у меня так?
Аватара пользователя
d@vinchi
Постоянный визитер
 
Сообщения: 25
ICQ: 276801195
Зарегистрирован: Вс дек 20, 2009 12:06 am
Карма: + 0 -

Re: T38modem(SIP) сборка под OS WINDOWS

Сообщение Дима77 » Ср дек 30, 2009 5:35 am

Ну я бы сначала проверил в различных ситуациях.
FaxBoom to t38modem идут? В audio режиме? хорошо.
Попробуйте что-нибудь еще, скажем возьмите 2 модема (скажем на разных PC), создайте 2 аккаунта на том же бетамаксе (чтоб t38 не было), пропишите регистрации и роуты (у Бетамакс напр. нет sip-id, поэтому придется преобразовывать цифры в буквы для исходящего)
--route "modem:.*=sip:anotherusername@sip.voipbuster.com;OPAL-Disable-T38-Mode", попробуйте передать факс.

Попробуйте какую-нибудь простую sip PBX между вашей и модемом.

Попробуйте
Код: Выделить всё
svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/trunk -r 23876 ptlib
svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/trunk -r 23876 opal

компилируйте ptlib+opal+modem, плагин можно не трогать.
во всяком случае я могу подтвердить что релиз 23876 рабочий, и он не ругается насчет 'ruby..'

Хотя, интуитивно, скорее всего действительно какая-то несовместимость.
(причем глючность возможно на стороне вашей pbx, это как посмотреть, если она на базе астериск то это с большой вероятностью)
Тогда 2 пути:
1) надо писать на форум (mail-list) Opal либо t38modem и описывать проблему на английском. Возможно это будет исправлено, быстро это могут сделать 2 человека, либо Robert Jongbloed, либо V.Frolov, но они должны это захотеть, а сейчас Н.год на носу, сами понимаете. Robert будет заниматься (если проблема в Opal) за спасибо только если у него нет оплачиваемых заказов. Т.е. это путь правильный но долгий.
2) надо экспериментировать и искать рабочую комбинацию, напр. с той же дополнительной PBX, т.е. менять какие-то условия, сравнивать, играться с параметрами, тем же прокси и т.п....

Был бы у вас t38, я бы вам сказал напр.: компилируйте версию на конец июля с Opal 3.6.X, но здесь вариантов особо нет...
Надо либо настаивать на исправлении, либо пытаться нейтрализовать ошибку самому,м.б. даже в коде, если конечно уверены в ошибке(?): файлов ответственных за SIP всего несколько, они в директории SIP (sources), но это нужны навыки.
Дима77
Специалист
 
Сообщения: 878
Зарегистрирован: Вт окт 04, 2005 5:42 pm

След.

Вернуться в Основные вопросы по IP-телефонии

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3