2016-05-16 5 views
2

Ich habe FIAF mit asterisk 12.8.1 läuft auf Amazon EC2-Instanz. Ich habe 20 Erweiterungen erstellt. Ich habe eine JAVA AMI-Verbindung erstellt, die 3 Threads hat. Jeder Thread hat eine Verbindung zum Sternchen AMI mit Event: system, command und OFF. Zufällig hat asterisk hängen und hat keinen Befehl von CLI übernommen. Einzige Option die zu diesem Zeitpunkt ist - den Asterisk-Dienst beenden und neu starten. Danach funktioniert alles gut.Asterisk bekam hängen CLI Neustart nicht funktionieren 12.8.1 auf EC2 Mikro

Ich habe die gdb bei asterisk hängen durch Anhängen Prozess ID und nahm BT und BT FULL.

(gdb) bt full 
#0 0x000000340d6df113 in poll() from /lib64/libc.so.6 
No symbol table info available. 
#1 0x000000000044eb7d in ast_el_read_char (editline=<value optimized out>, cp=0x7ffc71cdae0f "") at asterisk.c:2657 
     num_read = 0 
     lastpos = 0 
     fds = {{fd = -1, events = 1, revents = 0}, {fd = 0, events = 1, revents = 0}} 
     res = <value optimized out> 
     max = <value optimized out> 
     buf = " \255\315q\374\177\000\000H\255\315q\374\177\000\000\000`\357\023\231\177\000\000\000\000\000\000\000\000\000\000\364\226\317\033\000\000\000\000\n\237 \r4", '\000' <repeats 19 times>, "\005", '\000' <repeats 15 times>, "\001\000\000\000\000\000\000\000\000`\357\023\231\177\000\000\005\000\000\000\064", '\000' <repeats 11 times>, "\001\000\000\000\000\000\000\000\000`\357\023\231\177\000\000\000\000\000\000\000\000\000\000Xc\357\023\231\177\000\000Ь\315q\374\177\000\000\005\000\000\000\000\000\000\000\350\254\315q\374\177\000\000Xc\357\023\001\000\000\000\360\254\315q\374\177\000\000{=\240\017\064\000\000\000\b\255\315q\374\177\000\000\240\347\230\r\001\000\000\000\240\347\230\r4\000\000\000{9\240\017\064\000\000\000\001\000\000\000\000\000\000\000\247\347f\r4\000\000\000`\236\230\000\000\000\000\000}U\241\017\064\000\000\000`\236\230\000\000\000\000\000"... 
     __PRETTY_FUNCTION__ = "ast_el_read_char" 
#2 0x000000340fa1146b in el_gets() from /usr/lib64/libedit.so.0 
No symbol table info available. 
#3 0x000000000045199c in main (argc=<value optimized out>, argv=<value optimized out>) at asterisk.c:4603 
     title = "Asterisk Console on 'ip-172-31-51-113' (pid 9881)", '\000' <repeats 71 times>"\340, \024B\r4\000\000\000\000\300\315q\374\177\000\000\066\223 \r4\000\000\000\030\300\315q\374\177\000\000\060\300\315q\001\000\000\000\273\225\223\034\000\000\000\000P\222A\000\000\000\000\000\034\000\000\000\000\000\000\000\200\070\357\023\231\177\000\000.N=\366\000\000\000\000Фg\r4\000\000\000\tC\351\034\000\000\000\000\070\365\330\003\000\000\000\000.\000\000\000\000\000\000\000T:`\r4\000\000\000\000\000\000\000\005\000\000\000\001\000\000\000\000\000\000" 
     c = <value optimized out> 
     filename = "/root/.asterisk_history", '\000' <repeats 56 times> 
     hostname = "ip-172-31-51-113", '\000' <repeats 47 times> 
     xarg = 0x0 
     x = <value optimized out> 
     f = <value optimized out> 
     sigs = {__val = {134238211, 0 <repeats 15 times>}} 
     num = 0 
     isroot = 1 
     rundir_exists = <value optimized out> 
     buf = <value optimized out> 
     runuser = 0x7ffc71cdae90 "asterisk" 
     rungroup = 0x7ffc71cdae70 "asterisk" 
     remotesock = <value optimized out> 
     moduleresult = <value optimized out> 
     l = {rlim_cur = 49317, rlim_max = 49317} 
     __func__ = "main" 
     __PRETTY_FUNCTION__ = "main" 
(gdb) 

Ich werde schätzen, wenn irgendein Körper den Grund vorschlägt oder die Arbeit um das gleiche vorschlägt.

Antwort

3

Sie haben es zu kompilieren mit build_native = no

Für Änderung es, tun

make menuconfig 

vor Befehl machen.

Bitte beachten Sie, dass asterisk auf Micro-Instanz trotzdem nicht funktioniert, da nicht genügend Echtzeit-CPU zur Verfügung steht.

Auch für Nicht-Experten empfiehlt es sich, bereits erstellte AMI zu verwenden.

+1

Ich habe es nur mit Build_native = Ja kompilieren. –

+0

Ich habe es nur mit build_native = Ja kompilieren. Ich werde dir den Status danach aktualisieren. Ich stimme völlig mit Ihnen überein asterisk funktioniert nicht gut auf Mikro-Instanz wegen zu wenig Echtzeit-CPU zur Verfügung. Aber meine Frage ist, was ist die minimale EC2-Instanz für 50 Schluck Erweiterungen, um richtig und stabil zu funktionieren. Ich benutze EC2 Micro nur Becose kostenlos, aber sobald ich die 50 SIP-Erweiterung EC2 geeignete Instanz kennen gelernt habe, werde ich dafür bezahlen. –

+2

m1.small Arbeit ok bis 20-30 Anrufe. c1.medium bis zu 80 – arheops