summaryrefslogtreecommitdiff
path: root/channels/h323
diff options
context:
space:
mode:
authorJeremy McNamara <jj@nufone.net>2004-07-21 16:36:10 +0000
committerJeremy McNamara <jj@nufone.net>2004-07-21 16:36:10 +0000
commit0bb8d9567493ca829aaa763098f4b4b811d6e3af (patch)
tree09f5ca4349875437a0c16bff3cc6644c54e6d005 /channels/h323
parent405d0be9fe9e51291040c34a2ac3edec76c20405 (diff)
more changes to properly copy the call token and a small code optimization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/h323')
-rwxr-xr-xchannels/h323/ast_h323.cpp25
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;
}