aboutsummaryrefslogtreecommitdiffstats
path: root/channels/h323
diff options
context:
space:
mode:
authorjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2004-07-21 16:36:10 +0000
committerjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2004-07-21 16:36:10 +0000
commitc15f6871504b3f53cf8a09448b64226cda88b22c (patch)
tree09f5ca4349875437a0c16bff3cc6644c54e6d005 /channels/h323
parent3995d89bb65cca5f75a38028af6da8100d220927 (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
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;
}