2017-03-10 2 views
0
lua: els_bgapi.lua:20: attempt to index global 'e_con' (a number value) 
stack traceback: 
     els_bgapi.lua:20: in main chunk 
     [C]: in ? 

Bitte helfen Sie mir bin neu in Lua und Freeswitch, wenn der Code unten lief über den Fehler bekamVersuch Index global ‚e_con‘ (ein Zahlenwert)

sock:bgapi("originate","{sip_cid_type=pid,origination_uuid=uuid,origination_caller_id_number=65181,originate_timeout=10}sofia/external/sip:[email protected] 5000") 

e_con= sock:events("plain","all"); 
if (e_con) then 
    print(e_con:getHeader()); 
else 
    print("not e_con") 
end 
+2

Es scheint, dass 'sock: events' gibt eine Zahl, kein Objekt, das Sie' getHeader' auf aufrufen können. – lhf

+0

@EgorSkriptunoff Job-UUID ist eine Nummer wie folgt: + OK Job-UUID: f719939a-ffa1-49ca-a8b6-7f080febc2dc. – daptim

Antwort

0

events Befehl nur tun, um Ereignisse abonnieren aber keine Ereignisse aus der Verbindung lesen.

bgapi funktioniert wie Sie Befehl an FS senden. FS gibt Antwort mit Job-ID zurück. Aber in dieser Zeit kann FS den Ausführungsbefehl yeat nicht starten. Sie müssen BACKGROUND_JOB Ereignis mit korrekter Job-ID warten.

So müssen Sie BACKGROUND_JOB (oder für alle wie Sie tun, aber bereit sein, viele andere Ereignisse zu behandeln) zu abonnieren.

Dann senden bgapi und lesen Job UUID von Antwort oder übergeben Sie Ihre eigenen Job UUID, so dass Sie Ereignisse filtern können, bevor Sie Antwortformular FS bekommen. Dann Schleife mit recvEvent.

Ich verwende keine Original-ESL-Bibliothek, aber es gibt Beispiele in FS-Büchern. Auch ich arbeite auf meinem eigenen Basis auf LibUV Bibliothek

+0

Sie sind richtig, ich habe abonniert e = Sock: sendRecv ("Ereignisse alle plain") und setzen e = Sock: RecvEventTimed (30), Job_uuid = e: getHeader ("Job-UUID"); damit habe ich den Job_uuid bekommen. – daptim

+0

Sie sind korrekt ich abonniert e = Sock: sendRecv ("Ereignisse alle plain") und gesetzt e = Sock: RecvEventTimed (30), Job_uuid = e: getHeader ("Job-UUID"); So, dass ich die Job_uuid.please bekam ich würde wissen, wie man ESL mit LibUV Bibliothek implementiert Ich werde jede Dokumentation zu schätzen wissen. Entschuldige meine Unwissenheit bin ein Anfänger. – daptim

Verwandte Themen