diff options
author | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-07-21 16:36:10 +0000 |
---|---|---|
committer | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-07-21 16:36:10 +0000 |
commit | c15f6871504b3f53cf8a09448b64226cda88b22c (patch) | |
tree | 09f5ca4349875437a0c16bff3cc6644c54e6d005 | |
parent | 3995d89bb65cca5f75a38028af6da8100d220927 (diff) |
more changes to properly copy the call token and a small code optimization
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3489 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | channels/h323/ast_h323.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/channels/h323/ast_h323.cpp b/channels/h323/ast_h323.cpp index 0e52068e3..85b4e98ca 100755 --- a/channels/h323/ast_h323.cpp +++ b/channels/h323/ast_h323.cpp @@ -566,7 +566,9 @@ BOOL MyH323Connection::OnReceivedSignalSetup(const H323SignalPDU & setupPDU) cd.call_reference = GetCallReference(); + Lock(); cd.call_token = strdup((const char *)GetCallToken()); + Unlock(); cd.call_source_aliases = strdup((const char *)sourceAliases); cd.call_dest_alias = strdup((const char *)destAliases); cd.call_source_e164 = strdup((const char *)sourceE164); @@ -617,12 +619,14 @@ BOOL MyH323Connection::OnSendSignalSetup(H323SignalPDU & setupPDU) if ((s1 = strchr(destAliases, '\t')) != NULL) *s1 = '\0'; - cd.call_reference = GetCallReference(); - cd.call_token = strdup((const char *)GetCallToken()); - cd.call_source_aliases = strdup((const char *)sourceAliases); - cd.call_dest_alias = strdup((const char *)destAliases); - cd.call_source_e164 = strdup((const char *)sourceE164); - cd.call_dest_e164 = strdup((const char *)destE164); + cd.call_reference = GetCallReference(); + Lock(); + cd.call_token = strdup((const char *)GetCallToken()); + Unlock(); + cd.call_source_aliases = strdup((const char *)sourceAliases); + cd.call_dest_alias = strdup((const char *)destAliases); + cd.call_source_e164 = strdup((const char *)sourceE164); + cd.call_dest_e164 = strdup((const char *)destE164); int res = on_outgoing_call(cd); @@ -1181,15 +1185,12 @@ int h323_answering_call(const char *token, int busy) return -1; } - if (!busy){ + if (!busy) { connection->AnsweringCall(H323Connection::AnswerCallNow); - connection->Unlock(); - } else { connection->AnsweringCall(H323Connection::AnswerCallDenied); - connection->Unlock(); - }; - + } + connection->Unlock(); return 0; } |