.titleBar { margin-bottom: 5px!important; }

ct anleitung asterisk / capi

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von mop-o-fon, 24 Juni 2005.

  1. mop-o-fon

    mop-o-fon Neuer User

    Registriert seit:
    24 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo,

    ich versuche wie im aktuellen ct beschrieben
    asterisk mit chan_capi zum laufen zu bewegen, selbstverständlich erfolglos.
    zu meiner erheiterung habe ich hier gelesen, das die eigentliche artikelidee hier abgekupfert wurde, kompliment an den/die mit der initialen idee.

    kurzum würde ich mich über assistenz freuen, eine erklärung der folgenden fehlermeldung wäre von interesse, ich habe leider keinen plan
    Code:
        -- started pbx on channel (callgroup=0)!
      == Starting CAPI[contr1/81054569]/0 at capiin,81054569,1 failed so falling back to exten 's'
      == Starting CAPI[contr1/81054569]/0 at capiin,s,1 still failed so falling back to context 'default'
    Jun 24 19:15:59 WARNING[22536]: pbx.c:1889 ast_pbx_run: Channel 'CAPI[contr1/81054569]/0' sent into invalid extension 's' in context 'default', but no invalid handler
    Jun 24 19:15:59 DEBUG[22536]: channel.c:739 ast_hangup: Hanging up channel 'CAPI[contr1/81054569]/0'
    
    ich habe eine suse 9.2-i568 auf einem amd64 , fritzcard <2.0 ,
    Linux a64 2.6.8-24-default #1 Wed Oct 6 09:16:23 UTC 2004 i686 athlon i386 GNU/Linux mit dem default avm capi (closed source)
    asterisk 1.0.7 u. chan_capi 0.3.5, selbstcompiliert .
    capisuit läuft einwandfrei.

    vielen dank für die hilfe

    m.
     
  2. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Hi,

    zeig mal deine capi.conf und extensions.conf noch her. Sonst wirds nur Raterei ;)
     
  3. mop-o-fon

    mop-o-fon Neuer User

    Registriert seit:
    24 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo rajo,

    hier die konfiguration. vielleicht sollte ich auch erwähnen das ich mich anrufe und damit den fehler auslöse. mein anruf wird ja auch 'korrekt' (?) aufgelegt :), nur halt kein rückruf.


    Code:
    mop@a64:/etc/asterisk> cat capi.conf 
    ;
    ; CAPI config
    ;
    ;
    [general]
    nationalprefix=0
    internationalprefix=00
    rxgain=0.8
    txgain=0.8
    [interfaces]
    msn=81054569
    incomingmsn=81054569
    controller=1
    softdtmf=1
    accountcode=
    context=capiin
    ;echosquelch=1
    ;echocancel=yes
    ;echotail=64
    ;callgroup=1
    ;deflect=12345678
    devices=2
    
    
    extensions

    Code:
    [general]
    static=yes
    writeprotect=no
    [capiin]
    exten => 81054569,1,Wait,1
    exten => 81054569,2,AGI,callback.agi
    exten => 81054569,3,Hangup
    [capidialtone]
    exten => s,1,Dial,CAPI/@81054569
    exten => s,2,Hangup
    include => capiin  
    
    callback.agi
    Code:
    #!/usr/bin/php -q
    <?php
     ob_implicit_flush(true);
     set_time_limit(0);
     $err=fopen("php://stderr","w");
     $in = fopen("php://stdin","r");
     $out = fopen("php://stdout","w");
     
    echo("before Loop");
    
    while (!feof($in)) {
    echo("im Loop");
    
     $temp = str_replace("\n","",fgets($in,4096));
     $s = split(":",$temp);
     $agi[str_replace("agi_","",$s[0])] = trim($s[1]);
     if (($temp == "") || ($temp == "\n")) {
     break;
     }
     }
     $cf = fopen("/var/spool/asterisk/outgoing/cb".$agi["callerid"],"w+"); 
     fputs($cf,"Channel: CAPI/".$agi["extension"].":".$agi["callerid"]."\n");
     fputs($cf,"Context: capidialtone\n");
     fputs($cf,"Extension: s\n");
     fputs($cf,"SetVar: CALLERIDNUM=".$agi["extension"]."\n");
     fputs($cf,"MaxRetries: 2\n");
     fputs($cf,"RetryTime: 10\n");
     fclose($cf);
     fclose($in);
     fclose($out);
     fclose($err);
    ?>
    
    asterisk console
    Code:
    a64:/etc/asterisk # asterisk -ddddddvvvvvvv
    Parsing /etc/asterisk/asterisk.conf
    Parsing /etc/asterisk/extconfig.conf
    Asterisk 1.0.7, Copyright (C) 1999-2004 Digium.
    Written by Mark Spencer <markster@digium.com>
    =========================================================================
    Parsing /etc/asterisk/logger.conf
    Asterisk Event Logger Started /var/log/asterisk/event_log
      == Manager registered action Ping
      == Manager registered action Events
      == Manager registered action Logoff
      == Manager registered action Hangup
      == Manager registered action Status
      == Manager registered action Setvar
      == Manager registered action Getvar
      == Manager registered action Redirect
      == Manager registered action Originate
      == Manager registered action Command
      == Manager registered action ExtensionState
      == Manager registered action AbsoluteTimeout
      == Manager registered action MailboxStatus
      == Manager registered action MailboxCount
      == Manager registered action ListCommands
    Jun 25 03:01:16 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/manager.conf
    Jun 25 03:01:16 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/rtp.conf
      == RTP Allocating from port range 10000 -> 20000
    Asterisk PBX Core Initializing
    Registering builtin applications:
     [AbsoluteTimeout]
      == Registered application 'AbsoluteTimeout'
     [Answer]
      == Registered application 'Answer'
     [BackGround]
      == Registered application 'BackGround'
     [Busy]
      == Registered application 'Busy'
     [Congestion]
      == Registered application 'Congestion'
     [DigitTimeout]
      == Registered application 'DigitTimeout'
     [Goto]
      == Registered application 'Goto'
     [GotoIf]
      == Registered application 'GotoIf'
     [GotoIfTime]
      == Registered application 'GotoIfTime'
     [Hangup]
      == Registered application 'Hangup'
     [NoOp]
      == Registered application 'NoOp'
     [Prefix]
      == Registered application 'Prefix'
     [Progress]
      == Registered application 'Progress'
     [ResetCDR]
      == Registered application 'ResetCDR'
     [ResponseTimeout]
      == Registered application 'ResponseTimeout'
     [Ringing]
      == Registered application 'Ringing'
     [SayNumber]
      == Registered application 'SayNumber'
     [SayDigits]
      == Registered application 'SayDigits'
     [SayAlpha]
      == Registered application 'SayAlpha'
     [SayPhonetic]
      == Registered application 'SayPhonetic'
     [SetAccount]
      == Registered application 'SetAccount'
     [SetAMAFlags]
      == Registered application 'SetAMAFlags'
     [SetGlobalVar]
      == Registered application 'SetGlobalVar'
     [SetLanguage]
      == Registered application 'SetLanguage'
     [SetVar]
      == Registered application 'SetVar'
     [StripMSD]
      == Registered application 'StripMSD'
     [Suffix]
      == Registered application 'Suffix'
     [Wait]
      == Registered application 'Wait'
     [WaitExten]
      == Registered application 'WaitExten'
    Asterisk Dynamic Loader Starting:
    Jun 25 03:01:17 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/modules.conf
     [chan_capi.so]Jun 25 03:01:17 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/modules.conf
     => (Common ISDN API for Asterisk)
    Jun 25 03:01:17 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/capi.conf
        -- This box has 1 capi controller(s).
        -- CAPI[contr1] supports DTMF
        -- CAPI[contr1] supports supplementary services
           > sent FACILITY_REQ (CONTROLLER=0x1)
           > FACILITY_CONF INFO = 0
           > HOLD/RETRIEVE
           > TERMINAL PORTABILITY
           > ECT
           > 3PTY
           > CF
           > CD
           > MCID
           > CCBS
           > MWI
           > CCNR
      == ast_capi_pvt(81054569,81054569,capiin,0,2) (1,2,64)
      == ast_capi_pvt(81054569,81054569,capiin,0,2) (1,2,64)
        -- listening on contr1 CIPmask = 0x1fff03ff
    Jun 25 03:01:17 DEBUG[15139]: channel.c:198 ast_channel_register_ex: Registered handler for 'CAPI' (Common ISDN API Driver (0.3.5) aLaw CVS HEAD)
    Jun 25 03:01:17 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/enum.conf
    Jun 25 03:01:17 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/extconfig.conf
    Parsing /etc/asterisk/logger.conf
    Asterisk Event Logger restarted
    Jun 25 03:01:17 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/manager.conf
    Jun 25 03:01:17 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/enum.conf
    Jun 25 03:01:17 DEBUG[15139]: config.c:787 __ast_load: Parsing /etc/asterisk/rtp.conf
      == RTP Allocating from port range 10000 -> 20000
    Asterisk Ready.
        -- creating pipe for PLCI=0x101 msn = 81054569
           > sent ALERT_REQ PLCI = 0x101
        -- started pbx on channel (callgroup=0)!
      == Starting CAPI[contr1/81054569]/0 at capiin,81054569,1 failed so falling back to exten 's'
      == Starting CAPI[contr1/81054569]/0 at capiin,s,1 still failed so falling back to context 'default'
    Jun 25 03:02:13 WARNING[15139]: pbx.c:1889 ast_pbx_run: Channel 'CAPI[contr1/81054569]/0' sent into invalid extension 's' in context 'default', but no invalid handler
    Jun 25 03:02:13 DEBUG[15139]: channel.c:739 ast_hangup: Hanging up channel 'CAPI[contr1/81054569]/0'
        -- CAPI Hangingup
           > sent CONNECT_RESP for PLCI = 0x101
        -- removed pipe for PLCI = 0x101
    
    
    vielleicht den noch
    Code:
    a64:/etc/asterisk # ls /var/lib/asterisk/agi-bin/ -ali
    insgesamt 44
    7453 drwxr-xr-x  2 root root   176 2005-06-23 00:09 .
    7026 drwxr-xr-x  8 root root   216 2005-06-23 00:36 ..
    7457 -rwxr-xr-x  1 root root  1742 2005-06-22 02:07 agi-test.agi
    7120 -rwxr-xr-x  1 root root   809 2005-06-23 00:18 callback.agi
    7459 -rwxr-xr-x  1 root root 18067 2005-06-22 02:07 eagi-sphinx-test
    7458 -rwxr-xr-x  1 root root 15482 2005-06-22 02:07 eagi-test
    
    mop

    -warum hat man nie die zeit, es richtig zu machen - aber immer die zeit, es zwei mal zu machen?
     
  4. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    @mop-o-fon

    der Fehler liegt darin, dass Du keine Nummer zum "auswählen" im contex [capidialtone] angegeben hast.
    Du willst sicherlich nach deinem Rückruf ein Freizeichen am Telefon haben, oder? Das müsstest Du dann mit DISA oder einem eigenen Script lösen

    Bsp:
    Code:
    [callthrough] 
    exten => s,1,SetVar(NR=) 
    exten => s,2,Background(privacy-prompt) 
    exten => s,3,ResponseTimeout(10) 
    exten => s,4,WaitExten 
     
    exten => _X,1,SetVar(NR=${NR}${EXTEN}) 
    exten => _X,2,Goto(s,3) 
     
    exten => *,2,Goto(s,1)                   ;restart input
    
    exten => #,1,SetAccount(callback-out)
    exten => #,2,SetCDRUserField(${NR})
    exten => #,3,noOp()
    exten => #,4,noOp()
    exten => #,5,noOp()
    exten => #,6,noOp("dialing out")
    exten => #,7,SetCIDNum(29)
    exten => #,8,SetCalerPres(prohib)
    exten => #,9,Dial(Capi/${CALLERIDNUM}:0${NR},60,90,Tr)
    exten => #,10,Macro(dial-result)
    exten => #,11,noOp()
    exten => #,12,Playback(vm-nobodyavail) 
    exten => #,13,Goto(s,1) 
    exten => #,110,Playback(tt-allbusy) 
    
    
    exten => t,1,Goto(#,1)
    exten => t,2,HangUp
    
    exten => h,1,Playback(vm-goodbye)
    exten => h,2,Hangup
    
    [callbackout]
    exten => s,1,Wait(1)
    exten => s,2,Playback(welcome)
    exten => s,3,Wait(1)
    exten => s,4,Goto(callthrough,s,1)
    
     
  5. mop-o-fon

    mop-o-fon Neuer User

    Registriert seit:
    24 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo chaos2k,


    mir würde erstmal überhaupt ein rückruf genügen, um zu sehen ob s überhaupt soweit in ordnung ist.

    http://www.junghanns.net/asterisk/page14.html
    hat genau mein script als beispiel :(

    m.
     
  6. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    was sagt die console wenn du einen rückruf probierst?
    Fehlt vielleicht eine 0 zum rauswählen?
     
  7. Quetsch

    Quetsch Neuer User

    Registriert seit:
    17 Juni 2005
    Beiträge:
    11
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Modifikationen an der CT-Anleitung

    Hallo!

    Nach einigem Rumprobieren habe ich mich für eine Version ohne PHP Skript entschieden.
    Mit diesen configs habe ich ein zuverlässiges Callback von meiner Mobilnummer (0175xxxxxxx) über die ISDN MSNs (797302, 797304) auf meine Genion-Festnetznummer (07071xxxxxx) hinbekommen.

    Hier die modules.conf:
    Code:
    [modules]
    autoload=yes
    noload => pbx_gtkconsole.so
    ;load => pbx_gtkconsole.so
    noload => pbx_kdeconsole.so
    noload => app_intercom.so
    load => chan_modem.so
    load => chan_capi.so
    load => res_musiconhold.so
    ;noload => chan_alsa.so
    noload => chan_oss.so
    
    [global]
    chan_modem.so=yes
    chan_capi.so=yes
    
    Die extensions.conf:
    Code:
    [general]
    static=yes
    writeprotect=no
    
    [default]
    include => capiin
    
    [capiin]
    exten => 797302/0175xxxxxxx,1,Wait,1
    exten => 797302/0175xxxxxxx,2,System(cp /etc/asterisk/callFile /var/spool/asterisk/outgoing/)
    exten => 797302/0175xxxxxxx,3,Hangup
    
    [capidialtone]
    exten => s,1,Dial,CAPI/@797302:b
    exten => s,2,Hangup
    include => capiin
    
    [dialout]
    exten => s,1,Answer
    exten => s,2,Wait(1)
    exten => s,3,DISA(no-password|dial_now)
    exten => s,4,Wait(2)
    exten => s,5,Hangup
    exten => s,102,Busy
    exten => h,1,Hangup
     
    [dial_now]
    exten => _.,1,SetCallerID(797304)
    exten => _.,2,Dial,CAPI/@797304:b
    exten => _.,3,Congestion
    
    capi.conf:
    Code:
    ;
    ; CAPI config
    ;
    ;
    [general]
    nationalprefix=0
    internationalprefix=00
    rxgain=0.8
    txgain=0.8
    
    [interfaces]
    
    msn=797302,797304
    incomingmsn=797302
    controller=1
    softdtmf=1
    accountcode=
    context=capiin
    ;echosquelch=1
    ;echocancel=yes
    ;echotail=64
    ;callgroup=1
    ;deflect=12345678
    devices=2
    Und schließlich das CallFile, welches in /var/spool/asterisk/outgoing/ kopiert wird (macht im Prinzip das gleiche wie die callback.agi):
    Code:
    Channel: CAPI/797302:07071xxxxxx
    Context: capidialtone
    Extension: s
    SetVar: CALLERIDNUM=797304
    MaxRetries: 2
    RetryTime: 10
     
  8. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Na, das ist doch mal ne schicke und simple Lösung!
     
  9. mop-o-fon

    mop-o-fon Neuer User

    Registriert seit:
    24 Juni 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hilft mir leider garnicht

    hallo,

    es bleibt bei meinem oben genannten fehler
    Code:
      == Starting CAPI[contr1/81054569]/0 at capiin,81054569,1 failed so falling back to exten 's'
    
    ich denke ich habe ein ganz anderes problem - GEFUNDEN!!!!!

    ich bin zu blöde.
    ich habe 'autoload=off" als der weisheit letzter schluss betrachtet wg. den vielen fehlermeldungen.

    ein 'autoload=on' löst meine nervösen verspannungen und das anruf problem. morgen hole ich mir genion :)

    m.