Hi Mailing list, I am having an issue with curl where the app execution doesn't return where there is an issue resolving domain, even if the caller has hungup. The billable duration in the CDRS along with the end time stamp both reflect the script end time rather than call end time. Here is an example to force the issue. Edit /etc/resolve and set a name server to 9.9.9.9 Create a simple lua script session:answer() session:execute("curl","http://www.google.com") When calling this script via softphone and hanging up during the CURL, I see 2012-01-12 17:29:23.070105 [DEBUG] switch_core_session.c:875 Send signal sofia/internal/testing@myip [BREAK] 2012-01-12 17:29:23.070105 [DEBUG] switch_core_session.c:875 Send signal sofia/internal/testing@myip [BREAK] 2012-01-12 17:29:23.070105 [DEBUG] switch_core_session.c:875 Send signal sofia/internal/testing@myip [BREAK] 2012-01-12 17:29:23.070105 [DEBUG] switch_core_session.c:875 Send signal sofia/internal/testing@myip [BREAK] And then nothing, until I assume the CURL call ends (including the Callstate Change ACTIVE -> HANGUP) If I then look at the cdrs, they also show billable duration inclusive of the curl timeout even though the call ended some seconds before. I tried setting a hangup hook in the lua but this too doesn't get called when the call terminated. It seems like the state machine for the call gets stuck until curl completes. I've just downloaded the git head and the issue is present there too. Obvious question, shouldn't billable duration and end stamp reflect the actual call? Or is there something I need to do that I've currently missed. Is this issue specific to curl, or could it happen in other modules? Any pointers? Many Thanks Oz.