astdb crash when 50 calls per second

Discussion in 'General' started by callmgr, May 12, 2009.

  1. callmgr

    Joined:
    May 12, 2009
    Messages:
    4
    Likes Received:
    0
    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.
     
  2. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    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)
     

Share This Page