[Home]

Summary:ASTERISK-13408: [patch] ooh323 segfault in libc-2.7.so
Reporter:Magnus Benngard (benngard2)Labels:
Date Opened:2009-12-01 13:32:15.000-0600Date Closed:2009-12-30 17:51:34.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Addons/chan_ooh323
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) bug-16365.patch
( 1) gdb.txt
( 2) h323_log.txt
( 3) h323_log-2009-12-11.txt
( 4) h323_log-2009-12-11-2.txt
Description:I was going to test the "new" chan_ooh323 driver so I did install:

debian: Linux sip2 2.6.26-2-686 #1 SMP
dahdi-linux-complete-2.2.0.2+2.2.0
Asterisk SVN-trunk-r231692

Did enable chan_ooh323, everything compiled without any problems.

Hardware setup:

Phone (975) - Avaya CM - H.323 - Asterisk - X-Lite (0317998975)

X-Lite can dial MeetMe (955) no problem but when
975 dials X-Lite, I get connectio hear X-Lite ringing but Asterisk dumps:

-- Registered SIP '0317998985' at 10.242.10.209 port 22796
      > Saved useragent "X-Lite release 1103k stamp 53621" for peer 0317998985
   -- Executing [985@inputinterior.se:1] Dial("OOH323/avaya-1", "SIP/0317998985") in new stack
 == Using UDPTL CoS mark 5
   -- Called 0317998985
   -- SIP/0317998985-00000001 is ringing
Segmentation fault

cat /var/log/messages
Dec  1 12:02:25 sip2 kernel: [13455.390240] asterisk[15013]:
segfault at 0 ip b7edde94 sp b6971170 error 6 in libc-2.7.so[b7e68000+155000]

****** ADDITIONAL INFORMATION ******

sip2:/etc/asterisk# cat sip.conf
[general]
context=inputinterior.se
allowoverlap=yes
bindport=5060
bindaddr=10.242.10.122
srvlookup=yes
t38pt_udptl=yes

[0317998985]
type=friend
regexten=0317998985
secret=1234
defaultuser=0317998985
callerid="Cecilia Benngard" <0317998985>
mailbox=0317998985@inputinterior.se
host=dynamic
canreinvite=no
nat=yes
disallow=all
allow=alaw

sip2:/etc/asterisk# cat extensions.conf
[general]
static=yes
writeprotect=no
clearglobalvars=no

[inputinterior.se]
exten => 955,1,Set(CHANNEL(language)=en)
exten => 955,2,MeetMe(955)
exten => 955,3,Hangup()
;
exten => 985,1,Dial(SIP/0317998985)
;
exten => _0X!,1,Dial(OOH323/0${EXTEN}/avaya)

sip2:/etc/asterisk# cat ooh323.conf
[general]
context=inputinterior.se
bindaddr=10.242.10.122
port=5087
dtmfmode=rfc2833
disallow=all
allow=alaw

[avaya]
type=friend
context=inputinterior.se
ip=10.242.14.11
port=5087
dtmfmode=rfc2833
disallow=all
allow=alaw
Comments:By: Elazar Broad (ebroad) 2009-12-01 14:03:31.000-0600

Per the issue guidelines, please recompile Asterisk with DONT_OPTIMIZE(make menuconfig) and post a backtrace(see doc/backtrace.txt). Thanks!

By: Alexander Anikin (may213) 2009-12-03 14:36:17.000-0600

benngard2, please try latest trunk, i think it will help you.

By: Magnus Benngard (benngard2) 2009-12-04 04:02:57.000-0600

Did try the last trunk, seems to work!
Will do more tests during the weekend.
But I can call from SIP to H.323 and the other way around.
Thx to all!!!

By: Magnus Benngard (benngard2) 2009-12-04 08:47:56.000-0600

Did more tests during the day.

pstn - avaya cm - ooh323 - asterisk - sip - endpoint

endpoint can call pstn (my vife for example) and she can call my endpoint. :)
Will start doing t.38 tests tomorrow.

By: Magnus Benngard (benngard2) 2009-12-09 04:35:29.000-0600

Did move the Asterisk box to a public IP, changed config files, did a svn up,
after that i cant call from PSTN to SIP endpoint anymore. :(
The SIP endpoint starts to ring but just stops.
No crashes, no error what i can se.
From SIP to PSTN no problem.
Do u want me to send any log-file, tcpdump...?

By: Magnus Benngard (benngard2) 2009-12-09 06:58:34.000-0600

Recompiled with the "old" h323 driver, changed some config stuff
and all works...

By: Alexander Anikin (may213) 2009-12-09 12:09:59.000-0600

benngard2, please setup tracelevel=6 in ooh323.conf, reload chan_ooh323, try call and attach ooh323.conf and /var/log/asterisk/h323_log here.

By: Alexander Anikin (may213) 2009-12-10 17:09:32.000-0600

benngard2, try allow=alaw:40 in Avaya section.
10.242.14.14 is rtp IP of Avaya?
More analysis will few later, i see one trouble at least - avaya don't send release complete on incoming call.

By: Magnus Benngard (benngard2) 2009-12-11 04:39:26.000-0600

h323_log-2009-12-11.txt
did changes in ooh323.conf
[general]
bindaddr=213.88.138.183
port=5088
context=inputinterior.se
dtmfmode=rfc2833
disallow=all:40
allow=alaw:40
tracelevel=6

[Avaya]
type=friend
ip=10.242.14.11
port=5088
context=inputinterior.se

Did recompile to add ooh323 and remvoe h323.
Did call both ways and it did work.

By: Magnus Benngard (benngard2) 2009-12-11 05:00:01.000-0600

h323_log-2009-12-11-2.txt
did some more tests.
0317998977 (sip-phone) did call 0317998983 (h.323 phone)
977 could hear 983 but 983 couldn't hear 977.

0317998983 (h.323 phone) did call 0317998977 (sip-phone)
everything worked!

By: Leif Madsen (lmadsen) 2009-12-22 11:27:23.000-0600

Assigning to may213 as he is now maintaining the chan_ooh323 driver. Thanks!

By: Alexander Anikin (may213) 2009-12-28 18:06:04.000-0600

Benngard2, please try attached patch. it remove starting of TCS exchange/MSD procedure after call proceeding message and clean call correctly if other side don't close connection.
But i see that some your device send incorrect h323 message with type 0x5d (it's like to release compelete, but type not 0x5a, is not contain h323uu structure and call identifier info and go as first message in new connection).
i can't find info what is 0x5d q931 message.

By: Magnus Benngard (benngard2) 2009-12-29 02:03:45.000-0600

may213 said: i can't find info what is 0x5d q931 message.
according to: http://en.wikipedia.org/wiki/Q.931
0x5D 93 Message type non-existent or not implemented

Will implement the patch later today (when i got a free hour).

By: Digium Subversion (svnbot) 2009-12-30 17:51:33.000-0600

Repository: asterisk
Revision: 237098

U   trunk/addons/ooh323c/src/ooCalls.c
U   trunk/addons/ooh323c/src/ooh323.c
U   trunk/addons/ooh323c/src/ooq931.c

------------------------------------------------------------------------
r237098 | may | 2009-12-30 17:51:32 -0600 (Wed, 30 Dec 2009) | 11 lines

small q931 processing and signalling corrections

don't decode UUIE from Q931StatusMessage
clean call without callIdentifier data
don't start tcs/msd exchange procedure after call proceeding received

(closes issue ASTERISK-13408)
Reported by: benngard2
Tested by: may213, benngard2


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=237098