Page 16 of 19 FirstFirst ... 61415161718 ... LastLast
Results 226 to 240 of 276

Thread: SIP-GSM шлюз на роутере (asterisk+chan-datacard/dongle/gtalk)

  1. #226

    Cool

    Quote Originally Posted by ryzhov_al View Post
    Удалите и повторно установите chan_dongle.
    thx. помогло

  2. #227
    Quote Originally Posted by ryzhov_al View Post
    Модуль asterisk18-chan-gtalk добавлен в обновлённый asterisk. Прошу сообщить о результатах тестирования.
    Модуль завёлся. Текстовые сообщение ходят отлично. При звонке на asterisk c gtalk-аккаунта (android 4.0) ошибка:
    Code:
     NOTICE[7661]: chan_gtalk.c:2001 gtalk_parser: No attribute "type" found.  Ignoring message.
    Насколько я понял, проблема именно с некорректной обработкой модулем jabber-пакетов от клиента Android 4.0.
    При вызове через web-интерфейс gtalk - звонит отлично в обе стороны.
    Звонок с андроид 4.0:
    PHP Code:
    JABBERasterisk INCOMING: <iq to="учётка_на_asterisk@gmail.com/asterisk2BFD037B" id="2gAQq5u-34" type="set" from="учётка_на-android@gmail.com/androide409ea810bf8"><jingle action="session-initiate" sid="1883054664" initiator="учётка_на-android@gmail.com/androide409ea810bf8" xmlns="urn:xmpp:jingle:1"><content name="audio" creator="initiator"><description media="audio" xmlns="urn:xmpp:jingle:apps:rtp:1"><payload-type id="103" name="ISAC" clockrate="16000"><parameter name="bitrate" value="32000"/></payload-type><payload-type id="96" name="ISACLC" clockrate="16000"><parameter name="bitrate" value="40000"/></payload-type><payload-type id="97" name="IPCMWB" clockrate="16000"><parameter name="bitrate" value="80000"/></payload-type><payload-type id="102" name="iLBC" clockrate="8000"><parameter name="bitrate" value="13300"/></payload-type><payload-type id="100" name="EG711U" clockrate="8000"><parameter name="bitrate" value="64000"/></payload-type><payload-type id="101" name="EG711A" clockrate="8000"><parameter name="bitrate" value="64000"/></

    JABBERasterisk INCOMINGpayload-type><payload-type id="0" name="PCMU" clockrate="8000"><parameter name="bitrate" value="64000"/></payload-type><payload-type id="8" name="PCMA" clockrate="8000"><parameter name="bitrate" value="64000"/></payload-type><payload-type id="99" name="CN" clockrate="32000"/><payload-type id="98" name="CN" clockrate="16000"/><payload-type id="13" name="CN" clockrate="8000"/><payload-type id="106" name="telephone-event" clockrate="8000"/><encryption><crypto tag="0" crypto-suite="AES_CM_128_HMAC_SHA1_32" key-params="inline:/uJ13z/FX9HPcPtYUXkrZq7ymIV6f0JhutX/lsky"/><crypto tag="1" crypto-suite="AES_CM_128_HMAC_SHA1_80" key-params="inline:WZ5Jd1KI4Vb6XHVKfO/pYhDaQEv9mMpvyByfa4n7"/></encryption></description><transport xmlns="http://www.google.com/transport/p2p"/></content></jingle><session type="initiate" id="1883054664" initiator="

    JABBER: asterisk INCOMING: учётка_на-android/androide409ea810bf8" 
    xmlns="http://www.google.com/session"><description xmlns="http://www.google.com/session/phone"><payload-type id="103" name="ISAC" clockrate="16000" bitrate="32000"/><payload-type id="96" name="ISACLC" clockrate="16000" bitrate="40000"/><payload-type id="97" name="IPCMWB" clockrate="16000" bitrate="80000"/><payload-type id="102" name="iLBC" clockrate="8000" bitrate="13300"/><payload-type id="100" name="EG711U" clockrate="8000" bitrate="64000"/><payload-type id="101" name="EG711A" clockrate="8000" bitrate="64000"/><payload-type id="0" name="PCMU" clockrate="8000" bitrate="64000"/><payload-type id="8" name="PCMA" clockrate="8000" bitrate="64000"/><payload-type id="99" name="CN" clockrate="32000"/><payload-type id="98" name="CN" clockrate="16000"/><payload-type id="13" name="CN" clockrate="8000"/><payload-type id="106" name="telephone-event" clockrate="8000"/><rtp:encryption xmlns:rtp="

    JABBER: asterisk INCOMING: urn:xmpp:jingle:apps:rtp:1"
    ><rtp:crypto tag="0" crypto-suite="AES_CM_128_HMAC_SHA1_32" key-params="inline:/uJ13z/FX9HPcPtYUXkrZq7ymIV6f0JhutX/lsky"/><rtp:crypto tag="1" crypto-suite="AES_CM_128_HMAC_SHA1_80" key-params="inline:WZ5Jd1KI4Vb6XHVKfO/pYhDaQEv9mMpvyByfa4n7"/><usage/></rtp:encryption></description></session></iq>
    [
    Jul 17 06:16:00NOTICE[7661]: chan_gtalk.c:2001 gtalk_parserNo attribute "type" found.  Ignoring message
    Звонок с web-интерфеса gtalk:
    PHP Code:
    JABBERasterisk INCOMING: <iq type="set" to="учётка_на_asterisk@gmail.com/asterisk2BFD037B" id="314B886D9F859CD1" from="учётка_на_web@gmail.com/gmail.898FF7B8"><jin:jingle action="session-initiate" sid="c239069804" initiator="учётка_на_web@gmail.com/gmail.898FF7B8" xmlns:jin="urn:xmpp:jingle:1"><jin:content name="audio" creator="initiator"><rtp:description media="audio" ssrc="241876548" xmlns:rtp="urn:xmpp:jingle:apps:rtp:1"><rtp:payload-type id="103" name="ISAC" clockrate="16000"/><rtp:payload-type id="104" name="ISAC" clockrate="32000"/><rtp:payload-type id="107" name="speex" clockrate="16000"><rtp:parameter name="bitrate" value="22000"/></rtp:payload-type><rtp:payload-type id="9" name="G722" clockrate="16000"><rtp:parameter name="bitrate" value="64000"/></rtp:payload-type><rtp:payload-type id="102" name="ILBC" clockrate="8000"><rtp:parameter name="bitrate" value="13300"/></rtp:payload-type><rtp:payload-type id="108" name="speex" clockrate="8000"><rtp:parameter name="bitrate" value="11000"/></rtp:payload-type><rtp:

    JABBERasterisk INCOMINGpayload-type id="0" name="PCMU" clockrate="8000"><rtp:parameter name="bitrate" value="64000"/></rtp:payload-type><rtp:payload-type id="8" name="PCMA" clockrate="8000"><rtp:parameter name="bitrate" value="64000"/></rtp:payload-type><rtp:payload-type id="127" name="red" clockrate="8000"/><rtp:payload-type id="126" name="telephone-event" clockrate="8000"/><rtp:rtcp-mux/><rtp:encryption><rtp:crypto crypto-suite="AES_CM_128_HMAC_SHA1_80" key-params="inline:8gC1r2DeKOQncPTpRDlWUv372JizsXqWDbrUm83J" tag="1"/><rtp:crypto crypto-suite="AES_CM_128_HMAC_SHA1_32" key-params="inline:oz6Y4MNg+C4dIia90VHfjFLnhtbUC3ID1+fa10qC" tag="2"/></rtp:encryption></rtp:description><p:transport xmlns:p="http://www.google.com/transport/p2p"/></jin:content></jin:jingle><ses:session type="initiate" id="c239069804" initiator="учётка_на_web@gmail.com/gmail.898FF7B8" xmlns:ses="

    JABBER: asterisk INCOMING: http://www.google.com/session"
    ><pho:description xmlns:pho="http://www.google.com/session/phone"><pho:payload-type id="103" name="ISAC" clockrate="16000"/><pho:payload-type id="104" name="ISAC" clockrate="32000"/><pho:payload-type id="107" name="speex" bitrate="22000" clockrate="16000"/><pho:payload-type id="9" name="G722" bitrate="64000" clockrate="16000"/><pho:payload-type id="102" name="ILBC" bitrate="13300" clockrate="8000"/><pho:payload-type id="108" name="speex" bitrate="11000" clockrate="8000"/><pho:payload-type id="0" name="PCMU" bitrate="64000" clockrate="8000"/><pho:payload-type id="8" name="PCMA" bitrate="64000" clockrate="8000"/><pho:payload-type id="127" name="red" clockrate="8000"/><pho:payload-type id="126" name="telephone-event" clockrate="8000"/><pho:rtcp-mux/><pho:src-id>241876548</pho:src-id><rtp:encryption xmlns:rtp="urn:xmpp:jingle:apps:rtp:1"><rtp:crypto crypto-suite="

    JABBER: asterisk INCOMING: AES_CM_128_HMAC_SHA1_80" 
    key-params="inline:8gC1r2DeKOQncPTpRDlWUv372JizsXqWDbrUm83J" tag="1"/><rtp:crypto crypto-suite="AES_CM_128_HMAC_SHA1_32" key-params="inline:oz6Y4MNg+C4dIia90VHfjFLnhtbUC3ID1+fa10qC" tag="2"/><pho:usage/></rtp:encryption></pho:description></ses:session></iq>

    JABBERasterisk OUTGOING: <iq type='result' from='учётка_на_asterisk@gmail.com/asterisk2BFD037B' to='учётка_на_web@gmail.com/gmail.898FF7B8' id='314B886D9F859CD1'/>
      == 
    Starting Gtalk/учётка_на_web-22f8 at google-in,учётка_на_asterisk@gmail.com,1 failed so falling back to exten 's'
        
    -- Executing [s@google-in:1Set("Gtalk/учётка_на_web-22f8""CALLERID(name)="From Google Talk""in new stack
        
    -- Executing [s@google-in:2Dial("Gtalk/учётка_на_web-22f8""SIP/100"in new stack
      
    == Using SIP RTP CoS mark 5
        
    -- Called SIP/100
        
    -- SIP/100-00000009 is ringing 

  3. #228
    Пробую установить модуль dongle из репозитария:

    opkg install asterisk18-chan-dongle

    В ответ получаю:

    ... has no valid architecture, igroring

    opkg update делал, прошивка стоит из последних ночных сборок - 4686

  4. #229

    asterisk18-cdr

    в Entware не могу найти asterisk18-cdr. соберите, пожалуйста.
    или как по-другому получать статистику с АТС

  5. #230
    Quote Originally Posted by vred View Post
    в Entware не могу найти asterisk18-cdr. соберите, пожалуйста.
    или как по-другому получать статистику с АТС
    В OpenWRT он помечен как broken. Если вы знаете в чём причина и как её устранить — welcome.
    Last edited by Omega; 09-11-2012 at 13:42. Reason: fixed

  6. #231

    Unhappy репозиторий

    Спасибо. Сделал по статье:
    Переход на новый репозиторий Entware с Optware
    Коллеги, начиная с ревизии r3727 основным источником ПО для роутера является наш собственный репозиторий пакетов Entware. Он призван заменить собой Optware и сделать доступным для большого круга пользователей репозиторий OpenWRT - наиболее популярного и объёмного набора ПО на сегодняшний день. Его можно использовать на тех kernel 2.6-based прошивках, где раньше было предусмотрено использование Optware, включая TomatoUSB, DD-WRT, заводскую RT-N66 (how-to), альтернативную RT-N56 и другие.

    Для использования репозитория Entware необходимо:

    1. Смонтировать директорию /opt на какой-либо (пустой!) носитель/папку и выполнить:
    Код:
    $ cd /opt
    $ wget http://wl500g-repo.googlecode.com/sv...are_install.sh
    $ sh ./entware_install.sh
    после чего будут установлены менеджер пакетов opkg, базовые библиотеки uClibc и будет обновлён список доступных пакетов.
    Теперь поствил asterisk 1.8, и хочу настроить chan-dongle но опять траблы!!!
    Пакет скачал раз архивировал хочу собрать и вот приехали!!

    [admin@WL-BCAEC5E796D9 root]$ cd /opt/tmp/chan_dongle-1.1.r10/
    [admin@WL-BCAEC5E796D9 chan_dongle-1.1.r10]$ make
    -sh: make: not found

    Пытаюсь ставить необходимые пакеты

    [admin@WL-BCAEC5E796D9 root]$ opkg install buildroot optware-devel make -force-ov
    erwrite
    Unknown package 'buildroot'.
    Unknown package 'optware-devel'.
    Unknown package 'make'.
    Collected errors:
    * opkg_install_cmd: Cannot install package buildroot.
    * opkg_install_cmd: Cannot install package optware-devel.
    * opkg_install_cmd: Cannot install package make.
    Просто ЖЕСТЬ
    Last edited by Omega; 10-11-2012 at 12:22. Reason: а не пробовали сначала почитать профильные темы? :) на роутере теперь уже ничего не собирается ;)

  7. #232
    Join Date
    Oct 2009
    Posts
    529
    Blog Entries
    1
    Quote Originally Posted by testsia View Post
    поствил asterisk 1.8, и хочу настроить chan-dongle
    Code:
    $ opkg install asterisk18-chan-dongle
    ?

  8. #233
    Join Date
    Nov 2012
    Location
    NL
    Posts
    1

    Exclamation asterisk18-func BASE64_DECODE

    Asterisk 1.8.10.1


    прошу помощи с данным модулем для внедрения записи ussd и sms
    иначе: Function BASE64_DECODE not registered


    $ opkg -version
    opkg version 0.1.8

    WL500gpv2 1.9.2.7-rtn-r4667
    Code:
    *CLI> core show functions
    Installed Custom Functions:
    --------------------------------------------------------------------------------
    ARRAY                                                      
    CALLERID                                                   
    CALLERPRES                                                 
    CHECKSIPDOMAIN                                             
    CONNECTEDLINE                                              
    CSV_QUOTE                                                  
    EVAL                                                       
    EXCEPTION                                                  
    EXISTS                                                     
    FIELDNUM                                                   
    FIELDQTY                                                   
    FILTER                                                     
    GLOBAL                                                     
    HASH                                                       
    HASHKEYS                                                   
    IF                                                         
    IFTIME                                                     
    IMPORT                                                     
    ISNULL                                                     
    KEYPADHASH                                                 
    LEN                                                        
    LISTFILTER                                                 
    PASSTHRU                                                   
    POP                                                        
    PUSH                                                       
    QUOTE                                                      
    REDIRECTING                                                
    REGEX                                                      
    REPLACE                                                    
    SET                                                        
    SHARED                                                     
    SHIFT                                                      
    SIP_HEADER                                                 
    SIPCHANINFO                                                
    SIPPEER                                                    
    STRFTIME                                                   
    STRPTIME                                                   
    TESTTIME                                                   
    TIMEOUT                                                    
    TOLOWER                                                    
    TOUPPER                                                    
    UNSHIFT                                                    
    42 custom functions installed.
    я так понял нужен модуль func_base64.so , скомпилите плз
    Last edited by metsys; 25-11-2012 at 10:06.

  9. Модуль CDR

    Добрый день всем, случилась беда, собрал стенд с астером 1.6 и dongle rev.10 Подключил модем E173.

    В некоторое время начинаются следующие глюки, вх. звонок попадает на IP телефон, идет разговор и вдруг звонок прерывается,
    ни в логах ни в консоли астера никаких ошибок и сообщений. тишина в общем.
    сразу же можно перезвонить и продолжить дальше общаться, но ситуация может повториться, а может и нет((

    в общем не знаю пока куда копать, может кто подскажет чего? RSSI в районе 7-15, помещение немного глуховатое, но рядом окно.

    пытаюсь запустить модуль астер с модем на entware. Поставил asterisk18-chan-dongle, но нужен еще модуль CDR как его поставить?

    Code:
    [Dec 10 15:04:04] WARNING[966]: loader.c:396 load_dynamic_module: Error loading module 'app_cdr.so': File not found
    [Dec 10 15:04:04] WARNING[966]: loader.c:396 load_dynamic_module: Error loading module 'func_cdr.so': File not found
    .[Dec 10 15:04:04] WARNING[966]: loader.c:396 load_dynamic_module: Error loading module 'app_cdr.so': File not found
    [Dec 10 15:04:04] WARNING[966]: loader.c:848 load_resource: Module 'app_cdr.so' could not be loaded.
    [Dec 10 15:04:04] WARNING[966]: loader.c:396 load_dynamic_module: Error loading module 'func_cdr.so': File not found
    и еще следующие ошибки сыпятся во время входящего звонка

    Code:
    [Dec 10 15:39:16] WARNING[439]: channel.c:982 channel_indicate: [Dongle/datacard0-0100000000] Don't know how to indicate condition 22
    [Dec 10 15:39:16] WARNING[439]: channel.c:4910 ast_write: Codec mismatch on channel SIP/100-00000000 setting write format to slin from alaw native formats 0x8 (alaw)
    sln и sln16 ставил. не помогло. щас выключил данные модули, все равно данный ответ получаю. однако в тут они есть

    Code:
    Asterisk*CLI> core show codecs
    Disclaimer: this command is for informational purposes only.
            It does not indicate anything about your configuration.
                    INT    BINARY                  HEX   TYPE       NAME   DESCRIPTION
    -----------------------------------------------------------------------------------
                      1 (1 <<  0)                (0x1)  audio       g723   (G.723.1)
                      2 (1 <<  1)                (0x2)  audio        gsm   (GSM)
                      4 (1 <<  2)                (0x4)  audio       ulaw   (G.711 u-law)
                      8 (1 <<  3)                (0x8)  audio       alaw   (G.711 A-law)
                     16 (1 <<  4)               (0x10)  audio   g726aal2   (G.726 AAL2)
                     32 (1 <<  5)               (0x20)  audio      adpcm   (ADPCM)
                     64 (1 <<  6)               (0x40)  audio       slin   (16 bit Signed Linear PCM)
                    128 (1 <<  7)               (0x80)  audio      lpc10   (LPC10)
                    256 (1 <<  8)              (0x100)  audio       g729   (G.729A)
                    512 (1 <<  9)              (0x200)  audio      speex   (SpeeX)
                   1024 (1 << 10)              (0x400)  audio       ilbc   (iLBC)
                   2048 (1 << 11)              (0x800)  audio       g726   (G.726 RFC3551)
                   4096 (1 << 12)             (0x1000)  audio       g722   (G722)
                   8192 (1 << 13)             (0x2000)  audio     siren7   (ITU G.722.1 (Siren7, licensed from Polycom))
                  16384 (1 << 14)             (0x4000)  audio    siren14   (ITU G.722.1 Annex C, (Siren14, licensed from Polycom))
                  32768 (1 << 15)             (0x8000)  audio     slin16   (16 bit Signed Linear PCM (16kHz))
                  65536 (1 << 16)            (0x10000)  image       jpeg   (JPEG image)
                 131072 (1 << 17)            (0x20000)  image        png   (PNG image)
                 262144 (1 << 18)            (0x40000)  video       h261   (H.261 Video)
                 524288 (1 << 19)            (0x80000)  video       h263   (H.263 Video)
                1048576 (1 << 20)           (0x100000)  video      h263p   (H.263+ Video)
                2097152 (1 << 21)           (0x200000)  video       h264   (H.264 Video)
                4194304 (1 << 22)           (0x400000)  video      mpeg4   (MPEG4 Video)
                8388608 (1 << 23)           (0x800000)  video    unknown   (unknown)
               16777216 (1 << 24)          (0x1000000)  video    unknown   (unknown)
               33554432 (1 << 25)          (0x2000000)   text    unknown   (unknown)
               67108864 (1 << 26)          (0x4000000)   text        red   (T.140 Realtime Text with redundancy)
              134217728 (1 << 27)          (0x8000000)   text       t140   (Passthrough T.140 Realtime Text)
              268435456 (1 << 28)         (0x10000000)   text    unknown   (unknown)
              536870912 (1 << 29)         (0x20000000)   text    unknown   (unknown)
             1073741824 (1 << 30)         (0x40000000)  (unk)    unknown   (unknown)
             2147483648 (1 << 31)         (0x80000000)  (unk)    unknown   (unknown)
             4294967296 (1 << 32)        (0x100000000)  audio       g719   (ITU G.719)
             8589934592 (1 << 33)        (0x200000000)  audio    speex16   (SpeeX 16khz)
            17179869184 (1 << 34)        (0x400000000)  audio    unknown   (unknown)
            34359738368 (1 << 35)        (0x800000000)  audio    unknown   (unknown)
            68719476736 (1 << 36)       (0x1000000000)  audio    unknown   (unknown)
           137438953472 (1 << 37)       (0x2000000000)  audio    unknown   (unknown)
           274877906944 (1 << 38)       (0x4000000000)  audio    unknown   (unknown)
           549755813888 (1 << 39)       (0x8000000000)  audio    unknown   (unknown)
          1099511627776 (1 << 40)      (0x10000000000)  audio    unknown   (unknown)
          2199023255552 (1 << 41)      (0x20000000000)  audio    unknown   (unknown)
          4398046511104 (1 << 42)      (0x40000000000)  audio    unknown   (unknown)
          8796093022208 (1 << 43)      (0x80000000000)  audio    unknown   (unknown)
         17592186044416 (1 << 44)     (0x100000000000)  audio    unknown   (unknown)
         35184372088832 (1 << 45)     (0x200000000000)  audio    unknown   (unknown)
         70368744177664 (1 << 46)     (0x400000000000)  audio    unknown   (unknown)
        140737488355328 (1 << 47)     (0x800000000000)  audio    testlaw   (G.711 test-law)
    Last edited by Omega; 11-12-2012 at 07:20. Reason: 2 posts merged

  10. #235
    Quote Originally Posted by h1Nt View Post
    Модуль завёлся. Текстовые сообщение ходят отлично. При звонке на asterisk c gtalk-аккаунта (android 4.0) ошибка:
    Code:
     NOTICE[7661]: chan_gtalk.c:2001 gtalk_parser: No attribute "type" found.  Ignoring message.
    Насколько я понял, проблема именно с некорректной обработкой модулем jabber-пакетов от клиента Android 4.0.
    При вызове через web-интерфейс gtalk - звонит отлично в обе стороны.
    Кому нибудь удалось победить эту проблему с клиентом Android? Андроид 4.0, 4.1 -- проблемы те же

  11. #236
    Помогите решить проблему: При отправке ussd запроса получаю следующее
    > datacard ussd datacard0 *102#
    WARNING[946]: channel.c:4360 ast_request: No channel type registered for 'Local'
    NOTICE[946]: __channel.c:996 channel_local_request: Unable to request channel Local/ussd@datacard-incoming

    update: причина в конфигурации modules.conf , поделитесь, пожалуйста, своим конфигом
    Last edited by Elite_boy; 24-02-2013 at 16:23.

  12. #237
    Будьте добрьі!
    Добавьте, пожалуйста в репозиторий пакетьі minicom, multiwan и модуль для asterisk chan_dongle.

    Или подскажите, где почитать, как это сделать самостоятельно.

    Пробовал компилить - сборка вьідает ошибку на freeswitch, как исключить его из сборки - не нашел.

  13. #238
    Добрый день!

    Коллеги, а есть кто-нибудь, кто использует из entware Asterisk вместе с chan_dongle?
    У меня странная ситуация. Роутер - RT-N16, на флешку поставлен entware согласно инструкции, при попытке принять СМС или отправить USSD-запрос через донгл - segmentation fault.

    Дальше я поднимаю на своей машине репозиторий (согласно https://code.google.com/p/wl500g-rep.../trunk/INSTALL), долго все собираю, начинаю ковырять исходники донгла, и в итоге прихожу к выводу, что валится на вызове iconv_open. Ну дальше я не знаю, куда ковырять, переставляю все пакеты из репозитория, кот. получился у меня на машине, и обнаруживаю отсутствие openssl и другие чудеса.

    В общем, в итоге, а что это такое волшебное может быть, чтобы iconv_open в segmentation валился? Да, при этом программа iconv работает, и никуда не валится.


    Заранее спасибо!

  14. #239
    Quote Originally Posted by ryzhov_al View Post
    В случае, если вы заинтересованы в устранении бага, напишите автору модуля.
    Добрый день!

    Этот бага не у автора модуля.
    *CLI> dongle ussd dongle0 "*100#"
    [dongle0] USSD queued for send with id 0x5e34d8
    *CLI> -- [dongle0] Successfully sent USSD 0x5e34d8
    [Mar 18 13:44:52] NOTICE[1066]: at_response.c:267 at_response_ok: [dongle0] Successfully sent USSD 0x5e34d8
    !!!!!!!!!!!!!GOING TO FIRE iconv_open to=---UTF-8--- from=---UCS-2BE---
    Segmentation fault
    $
    При этом в исходнике (char_conv.c):
    printf("!!!!!!!!!!!!!GOING TO FIRE iconv_open to=---%s--- from=---%s---\n",to,from);
    cd = iconv_open (to, from);
    printf("!!!!!!!!!!!!!FIRED iconv_open!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
    то есть, валится iconv_open.

    Делаем тестовую заглушку

    $ cat test.c
    #include <iconv.h> /* iconv_t iconv() */
    #include <stdio.h> /* memcpy() */

    int main(void)
    {
    iconv_t cd;
    char * to = "UTF-8\0";
    char * from = "UCS-2BE\0";

    printf("!!!!!!!!!!!!!GOING TO FIRE iconv_open to=---%s--- from=---%s---\n",to,from);
    cd = iconv_open (to, from);
    printf("!!!!!!!!!!!!!FIRED iconv_open!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
    return 0;
    }
    Собираем
    $ sh -x ./build.sh
    + mipsel-uclibc-gcc -O2 -pipe -mips32 -mtune=mips32 -I/home/kostik/openwrt/new/openwrt_trunk/staging_dir/target-mipsel-linux-gnu/opt/lib/libiconv-full/include -I/home/kostik/openwrt/new/openwrt_trunk/staging_dir/target-mipsel-linux-gnu/opt/lib/libintl-full/include -DLOW_MEMORY -D_XOPEN_SOURCE=600 -DHAVE_CONFIG_H -O2 -I. -I/home/kostik/openwrt/new/openwrt_trunk/staging_dir/target-mipsel-linux-gnu/opt/include -I/home/kostik/openwrt/new/openwrt_trunk/staging_dir/target-mipsel-linux-gnu/include -I/opt/entware-toolchain/include -I/home/kostik/openwrt/new/openwrt_trunk/staging_dir/target-mipsel-linux-gnu/opt/lib/libiconv-full/include -I/home/kostik/openwrt/new/openwrt_trunk/staging_dir/target-mipsel-linux-gnu/opt/lib/libintl-full/include -D_GNU_SOURCE -I/home/kostik/openwrt/new/openwrt_trunk/staging_dir/target-mipsel-linux-gnu/opt/include/asterisk-1.8/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -L/home/kostik/openwrt/new/openwrt_trunk/staging_dir/target-mipsel-linux-gnu/opt/lib/libiconv-full/lib -liconv -o test test.c
    test.c: In function 'main':
    test.c:7:10: warning: variable 'cd' set but not used [-Wunused-but-set-variable]
    $ file test
    test: ELF 32-bit LSB executable, MIPS, MIPS32 version 1, dynamically linked (uses shared libs), with unknown capability 0xf41 = 0x756e6700, with unknown capability 0x70100 = 0x1040000, not stripped
    Запускаем на роутере:
    $ ./test
    ./test: can't load library 'libiconv.so.2'
    $
    Удивляемся:
    [admin@tmp]$ ./test
    ./test: can't load library 'libiconv.so.2'
    [admin@tmp]$ ldconfig -v | grep libiconv.so.2
    libiconv.so.2 => libiconv.so.2.4.0
    [admin@tmp]$ find /opt/ -name "libiconv.so.2.4.0"
    /opt/lib/libiconv.so.2.4.0
    [admin@tmp]$ ls -al /opt/lib/libiconv*
    lrwxrwxrwx 1 admin root 17 Mar 18 15:09 /opt/lib/libiconv.so -> libiconv.so.2.4.0
    lrwxrwxrwx 1 admin root 17 Mar 18 15:09 /opt/lib/libiconv.so.2 -> libiconv.so.2.4.0
    -rw-r--r-- 1 admin root 939224 Mar 11 13:05 /opt/lib/libiconv.so.2.4.0
    [admin@tmp]$
    Удивляемся еще сильнее:
    [admin@tmp]$ LD_LIBRARY_PATH=/opt/lib ./test
    !!!!!!!!!!!!!GOING TO FIRE iconv_open to=---UTF-8--- from=---UCS-2BE---
    !!!!!!!!!!!!!FIRED iconv_open!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [admin@tmp]$ cat /etc/ld.so.conf
    /lib
    /usr/lib
    /opt/lib
    [admin@tmp]$
    Ситуация натурально "то ли лыжи не едут...".

    Добавлю. Учитывая, что вот эта порнография привела к полной работоспособности chan_dongle по приему USSD/SMS, явно chan_dongle собирался не с той iconv, с которой собирался сам астер:
    static ssize_t convert_string (const char* in, size_t in_length, char* out, size_t out_size, char* from, char* to)
    {
    ICONV_CONST char* in_ptr = (ICONV_CONST char*) in;
    size_t in_bytesleft = in_length;
    char* out_ptr = out;
    size_t out_bytesleft = out_size - 1;
    ICONV_T cd = (ICONV_T) -1;
    ssize_t res;
    void * lib_handle = NULL;
    iconv_t ( * fn_open)(const char *, const char *) = NULL;
    int (* fn_close)(iconv_t ) = NULL;
    size_t (*fn_iconv)(iconv_t,
    char **, size_t *,
    char **, size_t *) = NULL;
    char * error;


    lib_handle = dlopen("/opt/lib/libiconv.so.2",RTLD_NOW | RTLD_LOCAL);
    if (!lib_handle)
    {
    fprintf(stderr, "Unable to load /opt/lib/libiconv.so.2%s\n", dlerror());
    return -1;
    }

    fn_open = dlsym(lib_handle, "iconv_open");
    fn_close = dlsym(lib_handle, "iconv_close");
    fn_iconv = dlsym(lib_handle, "iconv");
    if ((!fn_open) || (!fn_close) || (!fn_iconv))
    {
    fprintf(stderr, "Unable to find iconv functions: %s\n", dlerror());
    dlclose(lib_handle);
    return -1;
    }

    cd = fn_open(to, from);
    if (cd == (ICONV_T) -1)
    {
    return -2;
    }

    res = fn_iconv (cd, &in_ptr, &in_bytesleft, &out_ptr, &out_bytesleft);
    if (res < 0)
    {
    fn_close(cd);
    dlclose(lib_handle);
    return -3;
    }

    fn_close(cd);

    *out_ptr = '\0';

    dlclose(lib_handle);
    return (out_ptr - out);
    }
    Last edited by Kitsok; 18-03-2013 at 15:11.

  15. #240
    Добрый день опять!

    Я запутался в темах. В общем, суть проблемы изложена в этой теме поверхностно, вот тут - http://wl500g.info/showthread.php?20...924#post258924 - развернуто.

    Поскольку трабл, очевидно, в сборке астера, то я продолжу тут.

    Идем в /openwrt_trunk/build_dir/target-mipsel-linux-gnu/asterisk-1.8.10.1 и смотрим config.log:
    configure:18385: checking for iconv_open in -liconv
    ...............
    /opt/entware-toolchain/lib/gcc/mipsel-linux-uclibc/4.6.3/../../../../mipsel-linux-uclibc/bin/ld: cannot find -liconv
    .....................................
    configure:18595: checking for iconv_close in -lc
    .................................
    configure:18630: result: yes
    Таким образом, когда собирается астер, то используется iconv из libc, когда собирается chan_dongle, используется iconv из iconv_full.

Page 16 of 19 FirstFirst ... 61415161718 ... LastLast

Similar Threads

  1. Установка и настройка asterisk на роутере
    By ptabashov in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 247
    Last Post: 04-11-2021, 08:59
  2. Asus WL-500g Premium и шлюз
    By Grig_oriy in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 106
    Last Post: 15-05-2012, 20:43
  3. Asterisk 1.6.0.1-1 IPK gesucht
    By schufti in forum German Discussion - Deutsch (DE)
    Replies: 4
    Last Post: 31-01-2010, 15:03
  4. Asterisk
    By Alex9er in forum WL-700g Firmware Discussion
    Replies: 1
    Last Post: 26-09-2007, 18:43

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •