[Freeswitch-users] answer via .net esl is getting ignored
Moishe Grunstein
max at nysolutions.com
Tue Dec 24 18:47:30 MSK 2013
What are you seeing in the logs?
Thanks,
Moishe Grunstein
Tornado Computer Systems, Inc.
212.400.7650 888.IPPBX.US
Service Request Email: support at nysolutions.com<mailto:support at nysolutions.com>
Polycom Certified VAR
Microsoft Small Business Specialist, Cisco SMB Select Certified
[cid:image001.jpg at 01C72F94.9EE45D60]<http://www.nysolutions.com/>
Computer Networking * Managed Services * IP Video Surveillance * Network Assessments * Web Solutions * Voice over IP * Disaster Recovery * Network Security * Site Surveys * CMS
From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Yisroel M. Olewski
Sent: Tuesday, December 24, 2013 4:23 AM
To: freeswitch-users at lists.freeswitch.org
Subject: [Freeswitch-users] answer via .net esl is getting ignored
Hello everyone
This is my first posting via the mailing list
I'm trying my hand at freeswitch esl with .net
I've managed to get a hold of all incoming events, but can't seem to "pick up the phone"
my first goal is to pick up the phone and read out some text via tts
I've scoured the web, tried everything I can find or think of but no luck
here's my code
Private Sub winMain_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
ThreadPool.QueueUserWorkItem(New WaitCallback(Sub(stateInfo)
FreeSwitch = New ESLconnection("10.0.0.1", 8021, "mypass")
Dim eslEvent = FreeSwitch.SendRecv("event plain ALL")
FreeSwitch.SendRecv("event plain DTMF")
If eslEvent IsNot Nothing Then
AddEvent(eslEvent)
While FreeSwitch.Connected
eslEvent = FreeSwitch.RecvEvent
AddEvent(eslEvent)
End While
End If
End Sub))
End Sub
Private Sub AddEvent(e As ESLevent)
Dim dd = TextCollection(e.Serialize(""), ": ", vbLf)
Dim eventname = dd("event-name")
'Dim uid = dd("Unique-ID")
Dim uid = dd("Channel-Call-UUID")
If dd("Caller-Network-Addr") <> "" Then
Dim dcx = DBEntities()
Dim ses = dcx.Sessions.SingleOrDefault(Function(x) x.ServerCode = uid)
Dim ChannelState = dd("Channel-State")
Dim ChannelCallState = dd("Channel-Call-State").ToLower
Select Case eventname
Case "CHANNEL_STATE"
If ses Is Nothing Then
ses = New Session
dcx.Sessions.AddObject(ses)
End If
ses.CallerHost = dd("Caller-Network-Addr")
ses.CallerName = UrlDecoded(dd("Caller-Caller-ID-Name"))
ses.CallerPhone = dd("Caller-Caller-ID-Number")
ses.CallerUser = dd("Caller-Username")
ses.CalleeUser = dd("Caller-Destination-Number")
ses.ServerCode = uid
If {"cs_destroy", "cs_hangup"}.Contains(ChannelState) Then ses.HungUpOn = Now
Case "CHANNEL_CALLSTATE"
If ChannelCallState = "ringing" Then
Dim evn = FreeSwitch.Execute("answer", String.Empty, uid)
Dim res = evn.Serialize("")
End If
Case "CHANNEL_DESTROY"
If ses IsNot Nothing Then ses.HungUpOn = Now
End Select
dcx.SaveChanges()
End If
End Sub
the answer line is getting reached, and the result is "+OK" but the phone still keeps ringing
please note that I'm unsure which is the correct uuid, but trying both of them gave me identical results
As per advise from Nuwan Wijerathne, I put the "answer" action in the dialplan, and tried just the playback from code (just a wav file), but the result is the same. Freeswitch ignores entirely my commands.
It picks up, and immediately hangs up because it has finished the whole dialplan
I'd appreciate your help. I'm pretty new to freeswitch and esl
Please advise
Sincerely,
ymo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20131224/731c8bab/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 2424 bytes
Desc: image001.jpg
Url : http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20131224/731c8bab/attachment-0001.jpg
Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-users
mailing list