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

Problem mit chan_capi und PTP

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von fabe, 22 Sep. 2004.

  1. fabe

    fabe Neuer User

    Registriert seit:
    13 Juli 2004
    Beiträge:
    72
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,
    ich bin gerade dabei eine neue telefonanlage fertig zu machen und dabei nun auf ein etwas merkwürdiges problem gestossen :(
    hatte dies beim testen vorher nie...
    ich habe 2 ntba's an einem anlagenanschluss, die beider inner avm c4 karte stecken. funktioniert auch soweit alles, bis darauf, daß asterisk manchmal abstürzt mit ziemlich üblen fehlermeldungen...
    und zwar, wenn * bereits abgehoben hat, ich aber noch am nachwählen bin... das ganze schaut dann z.b. so aus wenn ich z.b. 7868 14 wähle...

    Asterisk Ready.
    *CLI> -- creating pipe for PLCI=0x102 msn = *
    > sent ALERT_REQ PLCI = 0x102
    -- Executing NoOp("CAPI[contr2/78681]/1", "78681") in new stack
    -- Executing Answer("CAPI[contr2/78681]/1", "") in new stack
    -- CAPI Answering for MSN 8681
    -- Executing MusicOnHold("CAPI[contr2/78681]/1", "loud") in new stack
    -- Started music on hold, class 'loud', on CAPI[contr2/78681]/1
    > sent ALERT_REQ PLCI = 0x102
    Sep 22 11:42:05 WARNING[294930]: pbx.c:1771 ast_pbx_run: CAPI[contr2/786814]/2 already has PBX structure??
    Sep 22 11:42:05 WARNING[294930]: pbx.c:1779 ast_pbx_run: CAPI[contr2/786814]/2 already has a call record??
    Sep 22 11:42:05 WARNING[294930]: cdr.c:143 ast_cdr_start: CDR on channel 'CAPI[contr2/78681]/1' already started
    -- Executing NoOp("CAPI[contr2/786814]/2", "786814") in new stack
    -- Executing Answer("CAPI[contr2/786814]/2", "") in new stack
    -- CAPI Answering for MSN 86814
    -- Executing MusicOnHold("CAPI[contr2/786814]/2", "loud") in new stack
    -- Stopped music on hold on CAPI[contr2/786814]/2
    -- Started music on hold, class 'loud', on CAPI[contr2/786814]/2
    Sep 22 11:42:05 WARNING[294930]: channel.c:995 ast_waitfor_nandfds: Thread 294930 Blocking 'CAPI[contr2/786814]/2', already blocked by thread 278545 in procedure ast_waitfor_nandfds
    > sent FACILITY_REQ (PLCI=0x102)
    -- Stopped music on hold on CAPI[contr2/786814]/2
    Sep 22 11:42:09 WARNING[278545]: pbx.c:476 pbx_exec: Stack is not at expected value
    Sep 22 11:42:09 WARNING[278545]: pbx.c:454 pbx_exec: Stack returned to an unexpected place!
    == Spawn extension (vxhotline, 786814, 3) exited non-zero on 'CAPI[contr2/786814]/2'
    -- CAPI Hangingup
    > sent DISCONNECT_B3_REQ NCCI=0x10102
    > sent DISCONNECT_REQ PLCI=0x102
    -- removed pipe for PLCI = 0x102
    Sep 22 11:42:09 WARNING[294930]: pbx.c:476 pbx_exec: Stack is not at expected value
    Sep 22 11:42:09 WARNING[294930]: pbx.c:454 pbx_exec: Stack returned to an unexpected place!
    == Spawn extension (vxhotline, 786814, 3) exited non-zero on '8|)øGtr2/786814]/2'
    Segmentation fault
    [root@pbx /]# Ouch ... error while writing audio data: : Broken pipe
    Ouch ... error while writing audio data: : Broken pipe

    wie zu erkennen, kommt dies auch direkt bei start. der call wird irgendwie 2mal angenommen. (einmal als 78681 und einmal als 786814).
    2 call auf einem channel kann dann natürlich nicht gutgehen und es gibt stack exceptions.

    im dialplan mache ich einfach ein _X. answer und dann musiconhold...
    hier asterisks capi.conf

    Code:
    ;
    ; CAPI config
    ;
    ;
    [general]
    nationalprefix=0
    internationalprefix=00
    rxgain=0.8
    txgain=0.8
    
    [interfaces]
    
    ;msn=50
    ;incomingmsn=*
    ;controller=1
    ;softdtmf=1
    ;accountcode=
    ;context=demo
    ;echosquelch=1
    ;echocancel=yes
    ;echotail=64
    ;callgroup=1
    ;deflect=12345678
    ;devices=2
    
    
    ;PointToPoint (55512-0)
    ;for outgoing calls use example 5551212
    ;and in dialplan you can use callerid like
    ;exten => _0XXX.,1,StripMSD,1
    ;exten => _XXX.,2,Dial,CAPI/55512${CALLERIDNUM}:bBYEXTENSION
    ;============================================================
    ;mode=immediate
    isdnmode=ptp
    msn=7868
    context=vxhotline
    incomingmsn=*
    controller=1
    devices=2
    
    isdnmode=ptp
    msn=7868
    context=vxhotline
    incomingmsn=*
    controller=2
    devices=2
    
    ich werd jetzt mal etwas mit digittimeout o.ä. rumtesten. trotzdem ist das problem nicht sehr schön :( achja.. stable cvs asterisk. ich probiers dann mal mim 1.0rc2 ...
    wäre für jede hilfe dankbar.

    Grüße
    Fabe
     
  2. fabe

    fabe Neuer User

    Registriert seit:
    13 Juli 2004
    Beiträge:
    72
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hm. nach div. versuchen und tests vermute ich immer mehr, daß chan_capi das overlap sending der digits nicht richtig handled und den call doppelt an die pbx engine weitergibt... :(
     
  3. BigWumpus

    BigWumpus Neuer User

    Registriert seit:
    6 Juli 2004
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich habe hier das gleiche Problem!

    Ich habe in dem Dialplan nachgesehen, und dort hatte ich die Durchwahl 0 und 0[1-9] ausgewertet, so daß der Ruf wohl (bedingt durch die Nachwahl bei analogen Anrufern) doppelt angenommen wurde.

    Habe ich jetzt umgestellt, ich hoffe, daß das eines meiner größten Probleme löst !