[Freeswitch-users] Trouble Getting session:getVariable(state) in Lua

2009-09-19 Thread Matthew Fong
I'm having trouble getting the channel variable state in my Lua ivr example.
I have tried both

session:getVariable(state)
session:getVariable(Channel-State)
session:getVariable(answer_state)
session:getVariable(Answer-State)

but lua reports nil for all attempts

I did a uuid_dump and it appears normaland both Channel-State and
Answer-State Variables are present...does anyone know why my Lua IVR can not
get these channel variables? Thanks

--matt

uuid_dump:Event-Name: CHANNEL_DATA
Core-UUID: ed5556a8-060f-4ce4-85bb-0a70b08120cf
FreeSWITCH-Hostname: matthew-laptop
FreeSWITCH-IPv4: 192.168.2.2
FreeSWITCH-IPv6: %3A%3A1
Event-Date-Local: 2009-09-19%2012%3A47%3A20
Event-Date-GMT: Sat,%2019%20Sep%202009%2012%3A47%3A20%20GMT
Event-Date-Timestamp: 1253364440904749
Event-Calling-File: mod_commands.c
Event-Calling-Function: uuid_dump_function
Event-Calling-Line-Number: 3298
Channel-State: CS_EXECUTE
Channel-State-Number: 4
Channel-Name: sofia/internal/1001
Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9
Call-Direction: outbound
Presence-Call-Direction: outbound
Answer-State: answered
Channel-Read-Codec-Name: PCMU
Channel-Read-Codec-Rate: 8000
Channel-Write-Codec-Name: PCMU
Channel-Write-Codec-Rate: 8000
Caller-Caller-ID-Name: FreeSWITCH
Caller-Caller-ID-Number: 00
Caller-Network-Addr: 192.168.2.4
Caller-Destination-Number: 1001
Caller-Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9
Caller-Source: src/switch_ivr_originate.c
Caller-Context: default
Caller-Channel-Name: sofia/internal/1001
Caller-Profile-Index: 1
Caller-Profile-Created-Time: 1253364439936068
Caller-Channel-Created-Time: 1253364439936068
Caller-Channel-Answered-Time: 1253364440900612
Caller-Channel-Progress-Time: 1253364439976071
Caller-Channel-Progress-Media-Time: 0
Caller-Channel-Hangup-Time: 0
Caller-Channel-Transfer-Time: 0
Caller-Screen-Bit: true
Caller-Privacy-Hide-Name: false
Caller-Privacy-Hide-Number: false
variable_channel_name: sofia/internal/1001
variable_sip_local_url: 1001%40192.168.2.2
variable_sip_destination_url:
%22user%22%20%3Csip%3A1001%40192.168.2.4%3A5061%3Bfs_nat%3Dyes%3Bfs_path%3Dsip%253A1001%2540192.168.2.4%253A5061%3E
variable_is_outbound: true
variable_ignore_early_media: true
variable_originate_early_media: false
variable_sip_nat_detected: true
variable_sofia_profile_name: internal
variable_sip_call_id: 690ad846-1fbd-122d-1599-0010c6ceb785
variable_sip_reply_host: 192.168.2.4
variable_sip_reply_port: 5061
variable_sip_user_agent: Linksys/PAP2T-5.1.6(LS)
variable_switch_r_sdp:
v%3D0%0D%0Ao%3D-%201231630%201231630%20IN%20IP4%20192.168.2.4%0D%0As%3D-%0D%0Ac%3DIN%20IP4%20192.168.2.4%0D%0At%3D0%200%0D%0Am%3Daudio%2016406%20RTP/AVP%200%20100%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A100%20NSE/8000%0D%0Aa%3Dfmtp%3A100%20192-193%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A
variable_remote_media_ip: 192.168.2.4
variable_remote_media_port: 16406
variable_read_codec: PCMU
variable_read_rate: 8000
variable_write_codec: PCMU
variable_write_rate: 8000
variable_local_media_ip: 192.168.2.2
variable_local_media_port: 20442
variable_endpoint_disposition: ANSWER
variable_current_application_data: api_epik_pocket.lua
variable_current_application: lua
___
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org


Re: [Freeswitch-users] Trouble Getting session:getVariable(state) in Lua

2009-09-19 Thread Anthony Minessale
state is not a variable.
I added a session:getState() for you to trunk but I am not sure why you need
it.


On Sat, Sep 19, 2009 at 9:36 AM, Matthew Fong mattdf...@gmail.com wrote:

 I'm having trouble getting the channel variable state in my Lua ivr
 example.
 I have tried both

 session:getVariable(state)
 session:getVariable(Channel-State)
 session:getVariable(answer_state)
 session:getVariable(Answer-State)

 but lua reports nil for all attempts

 I did a uuid_dump and it appears normaland both Channel-State and
 Answer-State Variables are present...does anyone know why my Lua IVR can not
 get these channel variables? Thanks

 --matt

 uuid_dump:Event-Name: CHANNEL_DATA
 Core-UUID: ed5556a8-060f-4ce4-85bb-0a70b08120cf
 FreeSWITCH-Hostname: matthew-laptop
 FreeSWITCH-IPv4: 192.168.2.2
 FreeSWITCH-IPv6: %3A%3A1
 Event-Date-Local: 2009-09-19%2012%3A47%3A20
 Event-Date-GMT: Sat,%2019%20Sep%202009%2012%3A47%3A20%20GMT
 Event-Date-Timestamp: 1253364440904749
 Event-Calling-File: mod_commands.c
 Event-Calling-Function: uuid_dump_function
 Event-Calling-Line-Number: 3298
 Channel-State: CS_EXECUTE
 Channel-State-Number: 4
 Channel-Name: sofia/internal/1001
 Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9
 Call-Direction: outbound
 Presence-Call-Direction: outbound
 Answer-State: answered
 Channel-Read-Codec-Name: PCMU
 Channel-Read-Codec-Rate: 8000
 Channel-Write-Codec-Name: PCMU
 Channel-Write-Codec-Rate: 8000
 Caller-Caller-ID-Name: FreeSWITCH
 Caller-Caller-ID-Number: 00
 Caller-Network-Addr: 192.168.2.4
 Caller-Destination-Number: 1001
 Caller-Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9
 Caller-Source: src/switch_ivr_originate.c
 Caller-Context: default
 Caller-Channel-Name: sofia/internal/1001
 Caller-Profile-Index: 1
 Caller-Profile-Created-Time: 1253364439936068
 Caller-Channel-Created-Time: 1253364439936068
 Caller-Channel-Answered-Time: 1253364440900612
 Caller-Channel-Progress-Time: 1253364439976071
 Caller-Channel-Progress-Media-Time: 0
 Caller-Channel-Hangup-Time: 0
 Caller-Channel-Transfer-Time: 0
 Caller-Screen-Bit: true
 Caller-Privacy-Hide-Name: false
 Caller-Privacy-Hide-Number: false
 variable_channel_name: sofia/internal/1001
 variable_sip_local_url: 1001%40192.168.2.2
 variable_sip_destination_url:
 %22user%22%20%3Csip%3A1001%40192.168.2.4%3A5061%3Bfs_nat%3Dyes%3Bfs_path%3Dsip%253A1001%2540192.168.2.4%253A5061%3E
 variable_is_outbound: true
 variable_ignore_early_media: true
 variable_originate_early_media: false
 variable_sip_nat_detected: true
 variable_sofia_profile_name: internal
 variable_sip_call_id: 690ad846-1fbd-122d-1599-0010c6ceb785
 variable_sip_reply_host: 192.168.2.4
 variable_sip_reply_port: 5061
 variable_sip_user_agent: Linksys/PAP2T-5.1.6(LS)
 variable_switch_r_sdp:
 v%3D0%0D%0Ao%3D-%201231630%201231630%20IN%20IP4%20192.168.2.4%0D%0As%3D-%0D%0Ac%3DIN%20IP4%20192.168.2.4%0D%0At%3D0%200%0D%0Am%3Daudio%2016406%20RTP/AVP%200%20100%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A100%20NSE/8000%0D%0Aa%3Dfmtp%3A100%20192-193%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A
 variable_remote_media_ip: 192.168.2.4
 variable_remote_media_port: 16406
 variable_read_codec: PCMU
 variable_read_rate: 8000
 variable_write_codec: PCMU
 variable_write_rate: 8000
 variable_local_media_ip: 192.168.2.2
 variable_local_media_port: 20442
 variable_endpoint_disposition: ANSWER
 variable_current_application_data: api_epik_pocket.lua
 variable_current_application: lua


 ___
 FreeSWITCH-users mailing list
 FreeSWITCH-users@lists.freeswitch.org
 http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
 UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
 http://www.freeswitch.org




-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_miness...@hotmail.com msn%3aanthony_miness...@hotmail.com
GTALK/JABBER/PAYPAL:anthony.miness...@gmail.compaypal%3aanthony.miness...@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:8...@conference.freeswitch.org sip%3a...@conference.freeswitch.org
iax:gu...@conference.freeswitch.org/888
googletalk:conf+...@conference.freeswitch.orggoogletalk%3aconf%2b...@conference.freeswitch.org
pstn:213-799-1400
___
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org


Re: [Freeswitch-users] Trouble Getting session:getVariable(state) in Lua

2009-09-19 Thread Matthew Fong
I think this is probably also the problem that this user on Jira thought was
a bug at
http://jira.freeswitch.org/browse/MODLANG-128

http://jira.freeswitch.org/browse/MODLANG-128Anyway, thanks!

I had wanted the state of the channel because after hang-up of a channel
being controlled by a lua script, the script continues executing. My lua
script has a few loops, so if a caller hangups during a loop, the lua script
never exits (gets caught in the loop). So I was trying to get the state
variable to see if the call still exists, and if not exist the loop and
close the lua script.

Is there an easier way that I'm missing to accomplish this?

Also when using onInput and a dtmf_callback within a luascript, you can
interrupt a session:sleep and/or a playmsg, but it seems once the onInput
execution is finished, the sleep and playmsg continue. Is the correct method
to have the onInput return break; to stop the old sleep and playmsg from
Q'ing?

Thanks so much.

--matt

On Sat, Sep 19, 2009 at 10:27 PM, Anthony Minessale 
anthony.miness...@gmail.com wrote:

 state is not a variable.
 I added a session:getState() for you to trunk but I am not sure why you
 need it.


 On Sat, Sep 19, 2009 at 9:36 AM, Matthew Fong mattdf...@gmail.com wrote:

 I'm having trouble getting the channel variable state in my Lua ivr
 example.
 I have tried both

 session:getVariable(state)
 session:getVariable(Channel-State)
 session:getVariable(answer_state)
 session:getVariable(Answer-State)

 but lua reports nil for all attempts

 I did a uuid_dump and it appears normaland both Channel-State and
 Answer-State Variables are present...does anyone know why my Lua IVR can not
 get these channel variables? Thanks

 --matt

 uuid_dump:Event-Name: CHANNEL_DATA
 Core-UUID: ed5556a8-060f-4ce4-85bb-0a70b08120cf
 FreeSWITCH-Hostname: matthew-laptop
 FreeSWITCH-IPv4: 192.168.2.2
 FreeSWITCH-IPv6: %3A%3A1
 Event-Date-Local: 2009-09-19%2012%3A47%3A20
 Event-Date-GMT: Sat,%2019%20Sep%202009%2012%3A47%3A20%20GMT
 Event-Date-Timestamp: 1253364440904749
 Event-Calling-File: mod_commands.c
 Event-Calling-Function: uuid_dump_function
 Event-Calling-Line-Number: 3298
 Channel-State: CS_EXECUTE
 Channel-State-Number: 4
 Channel-Name: sofia/internal/1001
 Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9
 Call-Direction: outbound
 Presence-Call-Direction: outbound
 Answer-State: answered
 Channel-Read-Codec-Name: PCMU
 Channel-Read-Codec-Rate: 8000
 Channel-Write-Codec-Name: PCMU
 Channel-Write-Codec-Rate: 8000
 Caller-Caller-ID-Name: FreeSWITCH
 Caller-Caller-ID-Number: 00
 Caller-Network-Addr: 192.168.2.4
 Caller-Destination-Number: 1001
 Caller-Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9
 Caller-Source: src/switch_ivr_originate.c
 Caller-Context: default
 Caller-Channel-Name: sofia/internal/1001
 Caller-Profile-Index: 1
 Caller-Profile-Created-Time: 1253364439936068
 Caller-Channel-Created-Time: 1253364439936068
 Caller-Channel-Answered-Time: 1253364440900612
 Caller-Channel-Progress-Time: 1253364439976071
 Caller-Channel-Progress-Media-Time: 0
 Caller-Channel-Hangup-Time: 0
 Caller-Channel-Transfer-Time: 0
 Caller-Screen-Bit: true
 Caller-Privacy-Hide-Name: false
 Caller-Privacy-Hide-Number: false
 variable_channel_name: sofia/internal/1001
 variable_sip_local_url: 1001%40192.168.2.2
 variable_sip_destination_url:
 %22user%22%20%3Csip%3A1001%40192.168.2.4%3A5061%3Bfs_nat%3Dyes%3Bfs_path%3Dsip%253A1001%2540192.168.2.4%253A5061%3E
 variable_is_outbound: true
 variable_ignore_early_media: true
 variable_originate_early_media: false
 variable_sip_nat_detected: true
 variable_sofia_profile_name: internal
 variable_sip_call_id: 690ad846-1fbd-122d-1599-0010c6ceb785
 variable_sip_reply_host: 192.168.2.4
 variable_sip_reply_port: 5061
 variable_sip_user_agent: Linksys/PAP2T-5.1.6(LS)
 variable_switch_r_sdp:
 v%3D0%0D%0Ao%3D-%201231630%201231630%20IN%20IP4%20192.168.2.4%0D%0As%3D-%0D%0Ac%3DIN%20IP4%20192.168.2.4%0D%0At%3D0%200%0D%0Am%3Daudio%2016406%20RTP/AVP%200%20100%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A100%20NSE/8000%0D%0Aa%3Dfmtp%3A100%20192-193%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A
 variable_remote_media_ip: 192.168.2.4
 variable_remote_media_port: 16406
 variable_read_codec: PCMU
 variable_read_rate: 8000
 variable_write_codec: PCMU
 variable_write_rate: 8000
 variable_local_media_ip: 192.168.2.2
 variable_local_media_port: 20442
 variable_endpoint_disposition: ANSWER
 variable_current_application_data: api_epik_pocket.lua
 variable_current_application: lua


 ___
 FreeSWITCH-users mailing list
 FreeSWITCH-users@lists.freeswitch.org
 http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
 UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
 http://www.freeswitch.org




 --
 Anthony Minessale II

 FreeSWITCH http://www.freeswitch.org/
 ClueCon http://www.cluecon.com/
 Twitter: 

Re: [Freeswitch-users] Trouble Getting session:getVariable(state) in Lua

2009-09-19 Thread Anthony Minessale
you should always check session:ready() in all loops
if session:ready() fails it means you must exit your script because the call
has either been transferred or hungup.


On Sat, Sep 19, 2009 at 11:41 AM, Matt Hunter m...@hellohunter.com wrote:

 I think this is probably also the problem that this user on Jira thought
 was a bug at
 http://jira.freeswitch.org/browse/MODLANG-128

  http://jira.freeswitch.org/browse/MODLANG-128Anyway, thanks!

 I had wanted the state of the channel because after hang-up of a channel
 being controlled by a lua script, the script continues executing. My lua
 script has a few loops, so if a caller hangups during a loop, the lua script
 never exits (gets caught in the loop). So I was trying to get the state
 variable to see if the call still exists, and if not exist the loop and
 close the lua script.

 Is there an easier way that I'm missing to accomplish this?

 Also when using onInput and a dtmf_callback within a luascript, you can
 interrupt a session:sleep and/or a playmsg, but it seems once the onInput
 execution is finished, the sleep and playmsg continue. Is the correct method
 to have the onInput return break; to stop the old sleep and playmsg from
 Q'ing?

 Thanks so much.

 --matt


 On Sat, Sep 19, 2009 at 10:27 PM, Anthony Minessale 
 anthony.miness...@gmail.com wrote:

 state is not a variable.
 I added a session:getState() for you to trunk but I am not sure why you
 need it.


 On Sat, Sep 19, 2009 at 9:36 AM, Matthew Fong mattdf...@gmail.comwrote:

 I'm having trouble getting the channel variable state in my Lua ivr
 example.
 I have tried both

 session:getVariable(state)
 session:getVariable(Channel-State)
 session:getVariable(answer_state)
 session:getVariable(Answer-State)

 but lua reports nil for all attempts

 I did a uuid_dump and it appears normaland both Channel-State and
 Answer-State Variables are present...does anyone know why my Lua IVR can not
 get these channel variables? Thanks

 --matt

 uuid_dump:Event-Name: CHANNEL_DATA
 Core-UUID: ed5556a8-060f-4ce4-85bb-0a70b08120cf
 FreeSWITCH-Hostname: matthew-laptop
 FreeSWITCH-IPv4: 192.168.2.2
 FreeSWITCH-IPv6: %3A%3A1
 Event-Date-Local: 2009-09-19%2012%3A47%3A20
 Event-Date-GMT: Sat,%2019%20Sep%202009%2012%3A47%3A20%20GMT
 Event-Date-Timestamp: 1253364440904749
 Event-Calling-File: mod_commands.c
 Event-Calling-Function: uuid_dump_function
 Event-Calling-Line-Number: 3298
 Channel-State: CS_EXECUTE
 Channel-State-Number: 4
 Channel-Name: sofia/internal/1001
 Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9
 Call-Direction: outbound
 Presence-Call-Direction: outbound
 Answer-State: answered
 Channel-Read-Codec-Name: PCMU
 Channel-Read-Codec-Rate: 8000
 Channel-Write-Codec-Name: PCMU
 Channel-Write-Codec-Rate: 8000
 Caller-Caller-ID-Name: FreeSWITCH
 Caller-Caller-ID-Number: 00
 Caller-Network-Addr: 192.168.2.4
 Caller-Destination-Number: 1001
 Caller-Unique-ID: 12ee98af-d76d-483c-b9a9-59e7f08ca4e9
 Caller-Source: src/switch_ivr_originate.c
 Caller-Context: default
 Caller-Channel-Name: sofia/internal/1001
 Caller-Profile-Index: 1
 Caller-Profile-Created-Time: 1253364439936068
 Caller-Channel-Created-Time: 1253364439936068
 Caller-Channel-Answered-Time: 1253364440900612
 Caller-Channel-Progress-Time: 1253364439976071
 Caller-Channel-Progress-Media-Time: 0
 Caller-Channel-Hangup-Time: 0
 Caller-Channel-Transfer-Time: 0
 Caller-Screen-Bit: true
 Caller-Privacy-Hide-Name: false
 Caller-Privacy-Hide-Number: false
 variable_channel_name: sofia/internal/1001
 variable_sip_local_url: 1001%40192.168.2.2
 variable_sip_destination_url:
 %22user%22%20%3Csip%3A1001%40192.168.2.4%3A5061%3Bfs_nat%3Dyes%3Bfs_path%3Dsip%253A1001%2540192.168.2.4%253A5061%3E
 variable_is_outbound: true
 variable_ignore_early_media: true
 variable_originate_early_media: false
 variable_sip_nat_detected: true
 variable_sofia_profile_name: internal
 variable_sip_call_id: 690ad846-1fbd-122d-1599-0010c6ceb785
 variable_sip_reply_host: 192.168.2.4
 variable_sip_reply_port: 5061
 variable_sip_user_agent: Linksys/PAP2T-5.1.6(LS)
 variable_switch_r_sdp:
 v%3D0%0D%0Ao%3D-%201231630%201231630%20IN%20IP4%20192.168.2.4%0D%0As%3D-%0D%0Ac%3DIN%20IP4%20192.168.2.4%0D%0At%3D0%200%0D%0Am%3Daudio%2016406%20RTP/AVP%200%20100%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A100%20NSE/8000%0D%0Aa%3Dfmtp%3A100%20192-193%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dptime%3A20%0D%0A
 variable_remote_media_ip: 192.168.2.4
 variable_remote_media_port: 16406
 variable_read_codec: PCMU
 variable_read_rate: 8000
 variable_write_codec: PCMU
 variable_write_rate: 8000
 variable_local_media_ip: 192.168.2.2
 variable_local_media_port: 20442
 variable_endpoint_disposition: ANSWER
 variable_current_application_data: api_epik_pocket.lua
 variable_current_application: lua


 ___
 FreeSWITCH-users mailing list
 FreeSWITCH-users@lists.freeswitch.org