astdb crash when 50 calls per second

callmgr

Joined
May 12, 2009
Messages
4
Likes
0
Points
0
#1
hi,
i has installed elastix-1.5.2-stable(32bit) on a HP server with xeon-4-core 2GHz.
first everything is ok, but i want to test the performance of asterisk with sipp.
sipp (http://sipp.sourceforge.net) is a automatic sip traffic generator.
i want to simulate the real world so add 200 extensions by "PBX > Extensions Batch":

---start-extbatch.txt---
"Display Name","User Extension","Direct DID","Outbound CID","Call Waiting","Secret","Voicemail Status","Voicemail Password","VM Email Address","VM Pager Email Address","VM Options","VM Email Attachment","VM Play CID","VM Play Envelope","VM Delete Vmail","Context"
100,100,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
101,101,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
102,102,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
103,103,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
104,104,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
105,105,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
106,106,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
107,107,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
108,108,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
109,109,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
110,110,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
111,111,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
112,112,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
113,113,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
114,114,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
115,115,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
116,116,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
117,117,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
118,118,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
119,119,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
120,120,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
121,121,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
122,122,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
123,123,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
124,124,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
125,125,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
126,126,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
127,127,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
128,128,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
129,129,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
130,130,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
131,131,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
132,132,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
133,133,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
134,134,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
135,135,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
136,136,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
137,137,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
138,138,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
139,139,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
140,140,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
141,141,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
142,142,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
143,143,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
144,144,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
145,145,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
146,146,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
147,147,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
148,148,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
149,149,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
150,150,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
151,151,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
152,152,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
153,153,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
154,154,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
155,155,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
156,156,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
157,157,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
158,158,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
159,159,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
160,160,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
161,161,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
162,162,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
163,163,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
164,164,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
165,165,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
166,166,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
167,167,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
168,168,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
169,169,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
170,170,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
171,171,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
172,172,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
173,173,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
174,174,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
175,175,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
176,176,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
177,177,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
178,178,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
179,179,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
180,180,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
181,181,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
182,182,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
183,183,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
184,184,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
185,185,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
186,186,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
187,187,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
188,188,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
189,189,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
190,190,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
191,191,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
192,192,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
193,193,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
194,194,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
195,195,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
196,196,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
197,197,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
198,198,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
199,199,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
200,200,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
201,201,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
202,202,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
203,203,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
204,204,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
205,205,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
206,206,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
207,207,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
208,208,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
209,209,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
210,210,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
211,211,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
212,212,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
213,213,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
214,214,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
215,215,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
216,216,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
217,217,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
218,218,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
219,219,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
220,220,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
221,221,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
222,222,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
223,223,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
224,224,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
225,225,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
226,226,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
227,227,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
228,228,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
229,229,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
230,230,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
231,231,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
232,232,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
233,233,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
234,234,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
235,235,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
236,236,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
237,237,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
238,238,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
239,239,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
240,240,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
241,241,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
242,242,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
243,243,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
244,244,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
245,245,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
246,246,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
247,247,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
248,248,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
249,249,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
250,250,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
251,251,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
252,252,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
253,253,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
254,254,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
255,255,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
256,256,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
257,257,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
258,258,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
259,259,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
260,260,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
261,261,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
262,262,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
263,263,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
264,264,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
265,265,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
266,266,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
267,267,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
268,268,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
269,269,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
270,270,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
271,271,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
272,272,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
273,273,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
274,274,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
275,275,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
276,276,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
277,277,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
278,278,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
279,279,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
280,280,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
281,281,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
282,282,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
283,283,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
284,284,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
285,285,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
286,286,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
287,287,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
288,288,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
289,289,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
290,290,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
291,291,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
292,292,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
293,293,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
294,294,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
295,295,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
296,296,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
297,297,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
298,298,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
299,299,"","","ENABLED","","disable","","","","","no","no","no","no","from-internal"
---endof-extbatch.txt---

now i have 200 extensions for test, the extension is: 100--299.
i do not want to write auth processing in my sipp scenario file.
so the "secret" field in batch file is null.

when i use sipp i must set static "host" and "port" for every peer.
so i execute a mysql command to set "host" and "port" of these extensions
i also disable "qualify" without sending OPTIONS to sipp for simpleness.

$ mysql -u root -peLaStIx.2oo7
> use asterisk;
> update sip set data='20.0.6.103' where keyword='host' and id>=100 and id<200;
> update sip set data='20.0.6.103' where keyword='host' and id>=200 and id<300;
> update sip set data='5071' where keyword='port' and id>=100 and id<200;
> update sip set data='5072' where keyword='port' and id>=200 and id<300;
> update sip set data='no' where keyword='qualify' and id>=100 and id<300;

now i want to let 100 extensions call other 100 extensions, something like:

100 --> 200
101 --> 201
...
199 --> 299

and when the call is established, calling(UAC) extension will send 20 seconds
pcap audio, and the called(UAS) will echo (with -rtp_echo) to calling party.

first in one bash window start sipp UAS script:

$ sipp -i 20.0.6.103 -p 5072 -sf s.xml -aa -rtp_echo

---start-s.xml---
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">

<scenario name="UAS">
<recv request="INVITE">
</recv>

<send>
<![CDATA[

SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0

]]>
</send>

<send retrans="500">
<![CDATA[

SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: [len]

v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVP 18
a=rtpmap:18 G729/8000

]]>
</send>

<recv request="INVITE" optional="true" rtd="true">
</recv>

<recv request="ACK" optional="true" rtd="true">
</recv>

<recv request="BYE">
</recv>

<send>
<![CDATA[

SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0

]]>
</send>

<timewait milliseconds="4000"/>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>

</scenario>
---endof-s.xml---


then in other bash window start sipp UAC script: (20.0.6.121 is asterisk)

$ sipp 20.0.6.121 -i 20.0.6.103 -p 5071 -aa -sf c.xml -inf c.csv -l 100 -r 50 -rp 1000

---start-c.xml---
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">

<scenario name="UAC">

<send retrans="500">
<![CDATA[

INVITE sip:[field1]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: [field0] <sip:[field0]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
To: [field1] <sip:[field1]@[remote_ip]:[remote_port]>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: sip:[field0]@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Type: application/sdp
Content-Length: [len]

v=0
o=- 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVP 8
a=rtpmap:8 PCMA/8000

]]>
</send>

<recv response="100" optional="true">
</recv>

<recv response="180" optional="true">
</recv>

<recv response="183" optional="true">
</recv>

<recv response="180" optional="true">
</recv>

<recv response="200" rtd="true">
</recv>

<send>
<![CDATA[

ACK sip:[field1]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: [field0] <sip:[field0]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
To: [field1] <sip:[field1]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 1 ACK
Contact: sip:[field0]@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0

]]>
</send>

<nop>
<action>
<exec play_pcap_audio="pcap/g711a_20s_ltr.pcap"/>
</action>
</nop>

<pause milliseconds="20000"/>

<send retrans="500">
<![CDATA[

BYE sip:[field1]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: [field0] <sip:[field0]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
To: [field1] <sip:[field1]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 2 BYE
Contact: sip:[field0]@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0

]]>
</send>

<recv response="200">
</recv>

<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>

</scenario>
---endof-c.xml---

---start-c.csv---
SEQUENTIAL
100;200
101;201
102;202
103;203
104;204
105;205
106;206
107;207
108;208
109;209
110;210
111;211
112;212
113;213
114;214
115;215
116;216
117;217
118;218
119;219
120;220
121;221
122;222
123;223
124;224
125;225
126;226
127;227
128;228
129;229
130;230
131;231
132;232
133;233
134;234
135;235
136;236
137;237
138;238
139;239
140;240
141;241
142;242
143;243
144;244
145;245
146;246
147;247
148;248
149;249
150;250
151;251
152;252
153;253
154;254
155;255
156;256
157;257
158;258
159;259
160;260
161;261
162;262
163;263
164;264
165;265
166;266
167;267
168;268
169;269
170;270
171;271
172;272
173;273
174;274
175;275
176;276
177;277
178;278
179;279
180;280
181;281
182;282
183;283
184;284
185;285
186;286
187;287
188;288
189;289
190;290
191;291
192;292
193;293
194;294
195;295
196;296
197;297
198;298
199;299
---endof-c.csv---

after some minutes i found number of incompleted calls rised.
and i found some verbose message in the asterisk CLI like:



when i view the code of /var/lib/asterisk/agi-bin/dialparties.agi, i found
the failure is at the line:




so i known there must be some error in my astdb file, i dump it:

$ db_dump185 -p /var/lib/asterisk/astdb

and i found the line for extension "101" is like:

...
/AMPUSER/100/device\00
100\00
/AMP\00SER/101/device\00
101\00
...

you can see the "key" is broken: "/AMP\00SER", the "U" has been replaced!
i can also found some error places alike:

...
/AMPUSER/137/device\00
137\00
/AMPUSER/1\008/device\00
138\00
...

so astdb crashed, call "101" or "138" will fail.
i googled the problem but can not found anything about astdb crash!
i think there must be some astdb write error when concurrent calls happening.
so i view the code asterisk-src/main/db.c:
i found every db operation will::: ast_mutex_lock(&dblock);
and the dblock is defined with something like:

PTHREAD_RECURSIVE_MUTEX_INITIALIZE_NP
PTHREAD_MUTEX_RECURSIVE_NP

so asterisk use mutex in RECURSIVE type, is this the source of my probem?

so, anybody can help me about this problem? thanks.
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#2
If you are thinking of 50 calls per second on an Elastix/Asterisk based system, I think you should reconsider, it just won't scale to that extent, If you have that sort of demand you need to look into a SIP proxy server not a "Back to back User Agent" (as asterisk is)
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,915
Messages
130,920
Members
17,594
Latest member
knethardsolutions
Top