+// clone_variables(requestor, ast);
+
+ ast->caller.ani.number.valid= requestor->caller.ani.number.valid;
+ if (requestor->caller.ani.number.valid)
+ if (requestor->caller.ani.number.str)
+ if (requestor->caller.ani.number.str[0])
+ ast->caller.ani.number.str= strdup(requestor->caller.ani.number.str);
+ ast->caller.ani.number.plan= requestor->caller.ani.number.plan;
+ ast->caller.ani.number.presentation= requestor->caller.ani.number.presentation;
+
+ ast->caller.ani.name.valid= requestor->caller.ani.name.valid;
+ if (requestor->caller.ani.name.valid)
+ if (requestor->caller.ani.name.str)
+ if (requestor->caller.ani.name.str[0])
+ ast->caller.ani.name.str= strdup(requestor->caller.ani.name.str);
+ ast->caller.ani.name.presentation= requestor->caller.ani.name.presentation;
+
+ ast->caller.ani.subaddress.valid= requestor->caller.ani.subaddress.valid;
+ if (requestor->caller.ani.subaddress.valid)
+ if (requestor->caller.ani.subaddress.str)
+ if (requestor->caller.ani.subaddress.str[0])
+ ast->caller.ani.subaddress.str= strdup(requestor->caller.ani.subaddress.str);
+ ast->caller.ani.subaddress.type= requestor->caller.ani.subaddress.type;
+
+ ast->caller.id.number.valid= requestor->caller.id.number.valid;
+ if (requestor->caller.id.number.valid)
+ if (requestor->caller.id.number.str)
+ if (requestor->caller.id.number.str[0])
+ ast->caller.id.number.str= strdup(requestor->caller.id.number.str);
+ ast->caller.id.number.plan= requestor->caller.id.number.plan;
+ ast->caller.id.number.presentation= requestor->caller.id.number.presentation;
+
+ ast->caller.id.name.valid= requestor->caller.id.name.valid;
+ if (requestor->caller.id.name.valid)
+ if (requestor->caller.id.name.str)
+ if (requestor->caller.id.name.str[0])
+ ast->caller.id.name.str= strdup(requestor->caller.id.name.str);
+ ast->caller.id.name.presentation= requestor->caller.id.name.presentation;
+
+ ast->caller.id.subaddress.valid= requestor->caller.id.subaddress.valid;
+ if (requestor->caller.id.subaddress.valid)
+ if (requestor->caller.id.subaddress.str)
+ if (requestor->caller.id.subaddress.str[0])
+ ast->caller.id.subaddress.str= strdup(requestor->caller.id.subaddress.str);
+ ast->caller.id.subaddress.type= requestor->caller.id.subaddress.type;
+
+ if (requestor->dialed.number.str)
+ if (requestor->dialed.number.str[0])
+ ast->dialed.number.str= strdup(requestor->dialed.number.str);
+ ast->dialed.number.plan= requestor->dialed.number.plan;
+
+ ast->dialed.subaddress.valid= requestor->dialed.subaddress.valid;
+ if (requestor->dialed.subaddress.valid)
+ if (requestor->dialed.subaddress.str)
+ if (requestor->dialed.subaddress.str[0])
+ ast->dialed.subaddress.str= strdup(requestor->dialed.subaddress.str);
+ ast->dialed.subaddress.type= requestor->dialed.subaddress.type;
+
+ ast->dialed.transit_network_select= requestor->dialed.transit_network_select;
+ ast->redirecting.count= requestor->redirecting.count;
+ ast->redirecting.reason= requestor->redirecting.reason;
+
+ ast->redirecting.from.number.valid= requestor->redirecting.from.number.valid;
+ if (requestor->redirecting.from.number.valid)
+ if (requestor->redirecting.from.number.str)
+ if (requestor->redirecting.from.number.str[0])
+ ast->redirecting.from.number.str= strdup(requestor->redirecting.from.number.str);
+ ast->redirecting.from.number.plan= requestor->redirecting.from.number.plan;
+ ast->redirecting.from.number.presentation= requestor->redirecting.from.number.presentation;
+
+ ast->redirecting.to.number.valid= requestor->redirecting.to.number.valid;
+ if (requestor->redirecting.to.number.valid)
+ if (requestor->redirecting.to.number.str)
+ if (requestor->redirecting.to.number.str[0])
+ ast->redirecting.to.number.str= strdup(requestor->redirecting.to.number.str);
+ ast->redirecting.to.number.plan= requestor->redirecting.to.number.plan;
+ ast->redirecting.to.number.presentation= requestor->redirecting.to.number.presentation;
+