[Freeswitch-users] CISCO 2811 Freeswitch IVR

Oliver Schenk olimonkey at gmail.com
Fri Jan 6 08:55:51 MSK 2012


I've tried looking at disable-early-media configuration command, but
that didn't work and I doubt that has anything to do with the CISCO
sending a 200 OK right after a 183 SESSION PROGRESS.




On Fri, Jan 6, 2012 at 9:20 AM, Brian West <brian at freeswitch.org> wrote:
> Thats what the 183 is.. 180 vs 183 are kinda sketchy in some devices.. 180
> is usually RINGING (generate ringback locally) while a 183 has media... aka
> early media and usually provides ringback inband.
>
> /b
>
> On Jan 5, 2012, at 7:13 PM, Oliver Schenk wrote:
>
> Shouldn't there be a  180 RINGING  somewhere in there?
>
>
>
>
> On Fri, Jan 6, 2012 at 8:25 AM, Oliver Schenk <olimonkey at gmail.com> wrote:
>
> I just noticed something else, if I don't pick up the phone at all.
>
> The IVR just keeps playing until the menu timeout kicks in.
>
>
> So here is a CISCO SIP log:
>
> http://pastebin.com/Y9sYkuxi
>
>
> The FS server is 192.168.x.50 and the CISCO is 192.168.x.1.
>
> I hope the CISCO log is readable, it's a bit long because I just did
>
> "debug ccsip all".
>
>
>
>
> In this test I didn't bother picking up the phone at all, but I can
>
> see that FS answered anyway and the IVR kept playing until it timed
>
> out.
>
> I'm not an expert, but here is what I picked out of it:
>
>
> At 00:08:10 we get a
>
> Received: "INVITE sip:109212xxxx at 192.168.x.1 SIP/2.0"
>
>
> the further down at the same timestamp we get
>
> Sent: "SIP/2.0 100 Trying"
>
>
> At 00:08:13 we get a
>
> Sent: "SIP/2.0 183 Session Progress"
>
>
> At 00:18:13 we get a
>
> Sent: "SIP/2.0 200 OK"
>
>
> Then at the same timestamp we get:
>
> Received: "ACK sip:109212xxxx at 192.168.x.1:5060 SIP/2.0"
>
>
>
>
> Once the IVR times out at 00:09:16 we get
>
> Received: "BYE sip:109212xxxx at 192.168.x.1:5060 SIP/2.0"
>
>
> And then the reply right after
>
> Sent: "SIP/2.0 200 OK"
>
>
>
>
> So I think you were right, the CISCO is sending back an "OK" 3 seconds
>
> after the "INVITE" is received.
>
>
>
>
> The part that is beyond my field of expertise so far is WHY?
>
>
>
>
> Thanks,
>
>
>
> Oliver
>
>
>
>
> On Fri, Jan 6, 2012 at 8:04 AM, Oliver Schenk <olimonkey at gmail.com> wrote:
>
> By the way:
>
>
> I tried {ignore_early_media=true} as well, but as I think we
>
> determined, my problem is probably with the CISCO telling FS that the
>
> call has been answered when really it hasn't yet.
>
>
>
>
> On Fri, Jan 6, 2012 at 8:01 AM, Oliver Schenk <olimonkey at gmail.com> wrote:
>
> Thanks for the help so far.
>
>
>
> Here is a pastebin of FreeSWITCH output:
>
> http://pastebin.com/i6Qgc7ws
>
>
> Notice how the "has been answered" log message comes immediately
>
> (within a few milliseconds) after the call was originated. I think
>
> this would suggest that the CISCO is immediately sending a 200 OK, as
>
> you suggested. I also turned on CISCO debugging, but I'm just trying
>
> to figure out how to get the information regarding SIP messages back
>
> to Freeswitch. I'll run the test again and see if I can get some
>
> useful CISCO debug.
>
>
> Which "debug ccsip" commands are relevant to what I want for the CISCO
>
> SIP debugging?
>
>
>
> Thanks!
>
>
>
>
>
> 2012/1/6 Gustavo Mársico <gustavomarsico at gmail.com>:
>
> I think I've a similar problem related to callcenter app. When I made an
> originate like this:
>
>
> originate loopback/2500/default/XML &bridge(user/2001)
>
>
> 2500 is an extension that leads to a callcenter application. In this case,
> we dial first to the queue and when an agent answered we call to the
> customer. As far as I know
>
> When the A-leg reaches to the queue, without selecting an agent, the call is
> automatically sent to the B-leg. As far as I see, there is a pre-answer
> method that fs needs to send the media to A-leg.
>
> In order to try to avoid this, I tried using ignore_early_media=true as part
> of the originate in A-leg and/or B-leg, with no luck.
>
>
> originate {ignore_early_media=true}loopback/2500/default/XML
> &bridge({ignore_early_media=true}user/2001)
>
>
> Dialplan: loopback/2500-b Regex (PASS) [CallCenter_Click2Call]
> destination_number(2500) =~ /^(2500)$/ break=on-false
>
> Dialplan: loopback/2500-b Action set(ignore_early_media=true)
>
> Dialplan: loopback/2500-b Action callcenter(click2call)
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_state_machine.c:154
> (loopback/2500-b) State Change CS_ROUTING -> CS_EXECUTE
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_session.c:1180 Send signal
> loopback/2500-b [BREAK]
>
> 2012-01-05 13:36:08.541517 [DEBUG] mod_loopback.c:475 loopback/2500-b
> CHANNEL KILL
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_state_machine.c:410
> (loopback/2500-b) State ROUTING going to sleep
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_state_machine.c:362
> (loopback/2500-b) Running State Change CS_EXECUTE
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_state_machine.c:417
> (loopback/2500-b) State EXECUTE
>
> 2012-01-05 13:36:08.541517 [DEBUG] mod_loopback.c:375 loopback/2500-b
> CHANNEL EXECUTE
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_state_machine.c:192
> loopback/2500-b Standard EXECUTE
>
> EXECUTE loopback/2500-b set(open=true)
>
> 2012-01-05 13:36:08.541517 [DEBUG] mod_dptools.c:1286 loopback/2500-b SET
> [open]=[true]
>
> EXECUTE loopback/2500-b
> hash(insert/10.8.0.70-spymap/0000000000/fef7d864-b3c7-407c-a6e1-94386642bfbb)
>
> EXECUTE loopback/2500-b hash(insert/10.8.0.70-last_dial/0000000000/2500)
>
> EXECUTE loopback/2500-b
> hash(insert/10.8.0.70-last_dial/global/fef7d864-b3c7-407c-a6e1-94386642bfbb)
>
> EXECUTE loopback/2500-b set(RFC2822_DATE=Thu, 05 Jan 2012 13:36:08 -0300)
>
> 2012-01-05 13:36:08.541517 [DEBUG] mod_dptools.c:1286 loopback/2500-b SET
> [RFC2822_DATE]=[Thu, 05 Jan 2012 13:36:08 -0300]
>
> EXECUTE loopback/2500-b set(ignore_early_media=true)
>
> 2012-01-05 13:36:08.541517 [DEBUG] mod_dptools.c:1286 loopback/2500-b SET
> [ignore_early_media]=[true]
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_session.c:2133 Application
> callcenter Requires media! pre_answering channel loopback/2500-b
>
> 2012-01-05 13:36:08.541517 [NOTICE] mod_loopback.c:760 Pre-Answer
> loopback/2500-a!
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_channel.c:2930 (loopback/2500-a)
> Callstate Change RINGING -> EARLY
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_session.c:729 Send signal
> loopback/2500-b [BREAK]
>
> 2012-01-05 13:36:08.541517 [DEBUG] mod_loopback.c:475 loopback/2500-b
> CHANNEL KILL
>
> 2012-01-05 13:36:08.541517 [NOTICE] switch_core_session.c:2135 Pre-Answer
> loopback/2500-b!
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_channel.c:2930 (loopback/2500-b)
> Callstate Change RINGING -> EARLY
>
> EXECUTE loopback/2500-b callcenter(click2call)
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_channel.c:3188 (loopback/2500-a)
> Callstate Change EARLY -> ACTIVE
>
> 2012-01-05 13:36:08.541517 [NOTICE] mod_loopback.c:755 Channel
> [loopback/2500-a] has been answered
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_core_session.c:729 Send signal
> loopback/2500-b [BREAK]
>
> 2012-01-05 13:36:08.541517 [DEBUG] mod_loopback.c:475 loopback/2500-b
> CHANNEL KILL
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_ivr_originate.c:3266 Originate
> Resulted in Success: [loopback/2500-a]
>
> 2012-01-05 13:36:08.541517 [DEBUG] switch_channel.c:3188 (loopback/2500-b)
> Callstate Change EARLY -> ACTIVE
>
> 2012-01-05 13:36:08.541517 [INFO] switch_channel.c:2708 loopback/2500-a
> Flipping CID from "" <0000000000> to "Outbound Call" <XML>
>
>
>
>
>
> On Jan 5, 2012, at 4:17 AM, Oliver Schenk wrote:
>
>
> Also, maybe I should be doing something like this:
>
>
> sofia/gateway/mygatewayname/1091234567 '&managed(ivrAppName)'
>
>
> instead of:
>
>
> sofia/internal/1091234567 at 192.168.x.x '&managed(ivrAppName)'
>
>
>
> but, I don't really have the CISCO configured as a gateway, nor do I
>
> know how really...probably not on the right track there.
>
>
>
>
>
> On Thu, Jan 5, 2012 at 3:06 PM, Oliver Schenk <olimonkey at gmail.com> wrote:
>
> *bump*
>
>
>
> So I think maybe the way I'm doing the originate is the problem? In my
>
> call string I'm creating a connection directly from the CISCO
>
> (192.168.x.x) to the managed application, which may be why it starts
>
> playing straight away?
>
>
> Maybe I should be originating a call first and then only once I know
>
> the other side has picked up will I bridge the call to the IVR managed
>
> application.
>
>
> Problem is I dunno how to tell whether the other person has picked up
>
> (or even if the cisco is going to tell me) and I don't know how to do
>
> things to a call once it has been established.
>
>
>
> I'm currently reading the Dialplan wiki page, hoping to get something
>
> out of it there.
>
>
>
> Cheers
>
>
> Oliver
>
>
>
> On Tue, Jan 3, 2012 at 11:46 AM, Oliver Schenk <olimonkey at gmail.com> wrote:
>
> I've been battling while creating an IVR using FreeSWITCH mod_managed
>
> and connecting through a CISCO 2811. Most things now work quite well,
>
> but I am having a few issues with the way the system answers calls (or
>
> doesn't answer calls...).
>
>
> I have FreeSWITCH running as a windows service on Windows Server 2008,
>
> which is connected via LAN to a CISCO 2811 with a 4 port FXO card,
>
> which is then connected to a POTS phone line.
>
>
>
> Take the following scenario:
>
>
> 1. Managed .NET application creates a call string and uses ESL to talk
>
> to freeswitch and originate a call:
>
>
> string callstring =
>
> "{bridge_answer_timeout=20,ignore_early_media=true,call_timeout=20}sofia/internal/1091234567 at 192.168.x.x
>
> '&managed(ivrAppName)'";
>
> eslConnection.API("originate", callstring);
>
>
> where 192.168.x.x is the CISCO IP.
>
>
> 2. The CISCO sees that the phone number (1091234567) starts with a 1
>
> so it uses FXO port 1 and strips the 1 and uses the remaining phone
>
> number (091234567) to make the call.
>
>
> 3. My phone rings, I pick up and I can hear my IVR playing.
>
>
>
>
> These are my current problems:
>
>
> - IVR starts playing before I even pick up the phone. This means that
>
> if the system calls a mobile phone and the person doesn't pick up, the
>
> IVR will start playing and eventually the mobile phone will divert to
>
> voice mail. Obviously I then get a missed call and an sms saying I
>
> have a new voice mail, which is annoying. Instead I would like it to
>
> KNOW that no one has picked up, but I don't know how to do this.
>
> Somehow the CISCO needs to be able to tell FreeSWITCH that the call
>
> has not yet been answered. For some reason however as soon as the
>
> CISCO starts calling FreeSWITCH thinks the call is already connected.
>
> It doesn't know that the CISCO is actually still ringing. Maybe I'm
>
> doing originate the wrong way or something ...
>
>
> - The phone only rings for about 10 seconds before hanging up. I've
>
> tried "call_timeout", "bridge_answer_timeout". I've also tried setting
>
> CISCO "ring number". Nothing works, my phone still only rings for
>
> about 10 seconds. I don't know if this is a FreeSWITCH issue or a
>
> CISCO issue. I'm leaning towards CISCO, because FreeSWITCH IVR just
>
> starts playing even if no one answers the phone.
>
>
>
>
>
>
> CISCO Config for relevant FXO port:
>
>
> voice service voip
>
>  allow-connections h323 to h323
>
>  allow-connections h323 to sip
>
>  allow-connections sip to h323
>
>  allow-connections sip to sip
>
>  no supplementary-service h450.2
>
>  no supplementary-service h450.3
>
>  supplementary-service h450.12
>
>  no supplementary-service sip moved-temporarily
>
>  no supplementary-service sip refer
>
>  fax protocol cisco
>
>  sip
>
>  registrar server expires max 3600 min 3600
>
>  no update-callerid
>
>  no call service stop
>
>
> voice-port 0/3/2
>
>  output attenuation -3
>
>  no comfort-noise
>
>  cptone AU
>
>  impedance complex1
>
>  caller-id enable
>
> !
>
> dial-peer voice 100 pots
>
>  preference 1
>
>  destination-pattern 1T
>
>  port 0/3/2
>
> !
>
>
>
>
> Many Thanks,
>
>
> Oliver
>
>
> _________________________________________________________________________
>
> Professional FreeSWITCH Consulting Services:
>
> consulting at freeswitch.org
>
> http://www.freeswitchsolutions.com
>
>
> 
>
> 
>
>
> Official FreeSWITCH Sites
>
> http://www.freeswitch.org
>
> http://wiki.freeswitch.org
>
> http://www.cluecon.com
>
>
> FreeSWITCH-users mailing list
>
> FreeSWITCH-users at lists.freeswitch.org
>
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>
> http://www.freeswitch.org
>
>
>
> _________________________________________________________________________
>
> Professional FreeSWITCH Consulting Services:
>
> consulting at freeswitch.org
>
> http://www.freeswitchsolutions.com
>
>
> 
>
> 
>
>
> Official FreeSWITCH Sites
>
> http://www.freeswitch.org
>
> http://wiki.freeswitch.org
>
> http://www.cluecon.com
>
>
> FreeSWITCH-users mailing list
>
> FreeSWITCH-users at lists.freeswitch.org
>
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>
> http://www.freeswitch.org
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
> --
> Brian West
> FreeSWITCH Solutions, LLC
> Phone: +1 (918) 420-9266
> Fax:   +1 (918) 420-9267
> brian at freeswitch.org
> http://www.freeswitch.org
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>



Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list