Segmentation fault und Asterisk beendet sich

oernds

Neuer User
Mitglied seit
28 Nov 2005
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
hallo,

ich habe immer das folgende Problem:

Wenn ich von meinem SIP-Telefon über ISDN auf meiner TK-Anlage anrufe, klingelt das Telefon, ich kann abnehmen und wunderbar telefonieren...

Nur wenn ich jetzt am ISDN-Telefon auflege, und am SIP-Telefon noch "verbunden" bin, bekomme ich immer einen SEGMENTATION FAULT und Asterisk beendet sich!

Wenn ich zuerst am SIP-Telefon auflege, und danach erst am ISDN-TElefon, funktioniert alles wunderbar...

Diese Meldung spuckt Asterisk aus:

Code:
*CLI>     -- Executing Dial("SIP/99-2b4c", "CAPI/contr1/297:103") in new stack
    -- Called contr1/297:103
    -- CAPI/ISDN1/103-0 is making progress passing it to SIP/99-2b4c
    -- CAPI/ISDN1/103-0 is proceeding passing it to SIP/99-2b4c
    -- CAPI/ISDN1/103-0 is ringing
    -- CAPI/ISDN1/103-0 answered SIP/99-2b4c
  == ISDN1: CAPI Hangingup
Segmentation fault


Hier mal meine Config-Dateien:

extensions.conf:
Code:
[incoming]
 exten => 297,1,Dial(SIP/99,60)
 exten => 297,2,Congestion()
 exten => 297,3,Busy()
 exten => 297,4,Hangup()


[outgoing]
 exten => _[1-9]XX,1,Dial(CAPI/contr1/297:${EXTEN})
 exten => _[1-9]XX,2,Congestion
 exten => _[1-9]XX,3,Busy()
 exten => _[1-9]XX,4,Hangup()

capi.conf:
Code:
 [ISDN1]
 ntmode=no
 isdnmode=msn
 msn=297
 incomingmsn=297
 echocancel=no
 controller=1
 group=1
 softdtmf=on
 context=incoming
 holdtype=hold
 echocancel=no
 devices=2

Bin für jeden Tipp mega dankbar!
 
Zuletzt bearbeitet:
Es würde uns helfen (Tip: Signatur) wenn du uns mitteilst was du einsetzt. Versionen, Hardware, etc. Armin, der Entwickler von chan_capi-cm freut sich auch immer über die CLI Ausgabe mit verbose 4 und capi debug in Code Tags (Symbol #) verpackt.
 
Hallo,

Meine Verwendete Konfiguration:
Asterisk 1.2
chan_capi_cm 0.6.X
ISDN Karte: AVM FritzCard PCI

hier die ausgabe meines CAPI DEBUG:

Code:
CLI> capi debug
CAPI Debugging Enabled
*CLI>     -- Executing Dial("SIP/99-0602", "CAPI/contr1/297:103|60") in new stack
       > data = contr1/297:103
       > parsed dialstring: 'contr1' '297' '103' ''
       > capi request controller = 1
       > CAPI devicestate requested for ISDN1/103
       > parsed dialstring: 'contr1' '297' '103' ''
  == ISDN1: Call CAPI/ISDN1/103-0   (pres=0x00, ton=0x00)
       > CAPI devicestate requested for ISDN1/103
    -- Called contr1/297:103
    -- ISDN1: received CONNECT_CONF PLCI = 0x101
    -- ISDN1: info element SETUP ACK
    -- ISDN1: info element PI 81 88
    -- ISDN1: info element CHANNEL IDENTIFICATION 8a
    -- CAPI/ISDN1/103-0 is making progress passing it to SIP/99-0602
    -- ISDN1: info element CALL PROCEEDING
Segmentation fault


wie mach ich das mit verbose 4, bzw was ist das überhaupt?
 
Zuletzt bearbeitet:
Hallo,

habe beide Befehle ausgeführt und hier das Ergebnis...

Jetzt kommt der SEGMENTATION FAULT manchmal schon wenn ich das erste mal über die ISDN-Karte telefoniere und das Telefon klingelt nur 1x ganz kurz...
Sehr unregelmäßig!

Hier die Ausgabe:

Code:
*CLI> set verbose 4
Verbosity is at least 4
*CLI> capi debug    -- Saved useragent "X-Lite release 1105x" for peer 99

CAPI Debugging Enabled
    -- Executing Dial("SIP/99-1b26", "CAPI/contr1/297:103|60") in new stack
       > data = contr1/297:103
       > parsed dialstring: 'contr1' '297' '103' ''
       > capi request controller = 1
       > CAPI devicestate requested for ISDN1/103
       > parsed dialstring: 'contr1' '297' '103' ''
  == ISDN1: Call CAPI/ISDN1/103-0   (pres=0x00, ton=0x00)
       > CAPI devicestate requested for ISDN1/103
    -- Called contr1/297:103
    -- ISDN1: received CONNECT_CONF PLCI = 0x101
    -- ISDN1: info element SETUP ACK
    -- ISDN1: info element PI 81 88
    -- ISDN1: info element CHANNEL IDENTIFICATION 8a
    -- CAPI/ISDN1/103-0 is making progress passing it to SIP/99-1b26
    -- ISDN1: info element CALL PROCEEDING
Segmentation fault
 
Und hier die neue ;-)

Code:
*CLI> set verbose 5
Verbosity was 4 and is now 5
*CLI> capi debug
CAPI Debugging Enabled
*CLI>     -- Executing Dial("SIP/99-806d", "CAPI/contr1/297:103|60") in new stack
       > data = contr1/297:103
       > parsed dialstring: 'contr1' '297' '103' ''
       > capi request controller = 1
       > CAPI devicestate requested for ISDN1/103
       > parsed dialstring: 'contr1' '297' '103' ''
  == ISDN1: Call CAPI/ISDN1/103-0   (pres=0x00, ton=0x00)
CONNECT_REQ ID=002 #0x0003 LEN=0047
  Controller/PLCI/NCCI            = 0x1
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>103
  CallingPartyNumber              = <00 80>297
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BProtocol
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
  BC                              = default
  LLC                             = default
  HLC                             = default
  AdditionalInfo
   BChannelinformation            = <00 00>
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default

CONNECT_CONF ID=002 #0x0003 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

    -- ISDN1: received CONNECT_CONF PLCI = 0x101
       > CAPI devicestate requested for ISDN1/103
    -- Called contr1/297:103
INFO_IND ID=002 #0x04cd LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x800d
  InfoElement                     = default

INFO_RESP ID=002 #0x04cd LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element SETUP ACK
INFO_IND ID=002 #0x04ce LEN=0017
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x1e
  InfoElement                     = <81 88>

INFO_RESP ID=002 #0x04ce LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element PI 81 88
       > ISDN1: In-band information available
INFO_IND ID=002 #0x04cf LEN=0016
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x18
  InfoElement                     = <8a>

INFO_RESP ID=002 #0x04cf LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element CHANNEL IDENTIFICATION 8a
    -- CAPI/ISDN1/103-0 is making progress passing it to SIP/99-806d
INFO_IND ID=002 #0x04d0 LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x8002
  InfoElement                     = default

INFO_RESP ID=002 #0x04d0 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element CALL PROCEEDING
Segmentation fault
 
Leider ist im log kein Fehler zu erkennen.
Kannst du ein backtrace ueber ein core file machen?

Armin
 
@armincm

Da die meisten Benutzer mit gdb eher selten in Berührung kommen, wäre es vielleicht sinnvoll eine kurze Anleitung zum Erstellen eines backtrace zu schreiben die dann auf 'Wichtig' gesetzt wird und auf die du dann verweisen könntest. Ich hätte das gerne gemacht, habe aber auf meiner embedded Plattform weder gdb laufen, noch irgendwelche coredumps.
 
weiss sonst keiner was da der Fehler sein könnte?

Ich hatte das ganze schonmal installiert, nur mit nem anderen Rechner...
ISDN Karte war aber die selbe, selbe Versionen, alles gleich bis auf den Rechner...

hat das was damit zu tun?

Mainboard?
 
Wenn es mit einer anderen Hardware funktioniert hat, dann kann es schon daran liegen... auch wenn es eher unwahrscheinlich ist.

Also ein backtrace ist die einzige Moeglichkeit hier genaueres herauszufinden.
Wie man das macht ist sehr oft im Internet beschrieben, aber grob ist folgendes zu tun:
- Asterisk mit -g starten, damit ein core file bei SegFault erstellt wird.
- GDB starten fuer Asterisk binary und core file angeben:
sh# gdb -c <core-file> /usr/sbin/asterisk
- backtrace aufrufen in GDB Kommandozeile:
(gdb) backtrace

Armin
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,109
Beiträge
2,246,275
Mitglieder
373,590
Neuestes Mitglied
dmobi
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.