switch_state_handler_table originate_table;\r
GCHandle originate_keepalive_handle; // Make sure the B Leg is not collected and disposed until we run ondestroy\r
\r
- switch_status_t originate_onhangup_method(IntPtr channelPtr) {\r
+ switch_status_t originate_ondestroy_method(IntPtr channelPtr) {\r
// CS_DESTROY lets the bleg be collected\r
// and frees originate_table memory\r
// Note that this (bleg ManagedSession) is invalid \r
\r
/// <summary>\r
/// Performs originate. Returns ManagedSession on success, null on failure.\r
- /// onHangup is called as a state handler, after the channel is truly hungup.\r
+ /// onHangup is called as a state handler, after the channel is truly hungup (CS_REPORTING).\r
/// </summary>\r
public static ManagedSession OriginateHandleHangup(CoreSession aLegSession, string destination, TimeSpan timeout, Action<ManagedSession> onHangup) {\r
var bleg = new ManagedSession();\r
\r
- bleg.originate_ondestroy_delegate = bleg.originate_onhangup_method;\r
+ bleg.originate_ondestroy_delegate = bleg.originate_ondestroy_method;\r
bleg.originate_onhangup_delegate = CreateStateHandlerDelegate(sess_b => {\r
if (onHangup != null) {\r
onHangup(sess_b);\r
}\r
});\r
bleg.originate_table = new switch_state_handler_table();\r
- bleg.originate_table.on_hangup = WrapStateHandlerDelegate(bleg.originate_onhangup_delegate);\r
+ bleg.originate_table.on_reporting = WrapStateHandlerDelegate(bleg.originate_onhangup_delegate);\r
bleg.originate_table.on_destroy = WrapStateHandlerDelegate(bleg.originate_ondestroy_delegate);\r
bleg.originate_table.flags = (int)switch_state_handler_flag_t.SSH_FLAG_STICKY;\r
var res = 0 == bleg.originate(aLegSession, destination, (int)timeout.TotalSeconds, bleg.originate_table);\r