Good day, <br><br>I&#39;m using a dial string as follows: Dial(SIP/${phonenumber},30,grM(screen^${pin})L(${300000}[:60000]));<br>When I set a variable in the macro screen, it doesn&#39;t get passed back to the extension from where the dial was called. I can always put the result in the MySQL database, but that feels a bit overkill... the macro looks as follows: <br>
<br>macro screen (arg1) {<br><br>&nbsp; Wait(0.2);<br>&nbsp; Read(acceptcall|sounds/pin|7);<br>&nbsp; if(${acceptcall} = ${arg1}) {<br>&nbsp;&nbsp;&nbsp; NoOp(connect them);<br>&nbsp;&nbsp;&nbsp; wrongpin=0;<br>&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; Set(MACRO_RESULT=CONTINUE);<br>&nbsp;&nbsp;&nbsp; wrongpin=1;<br>
&nbsp; }<br>&nbsp; NoOp(MACRO_RESULT = ${MACRO_RESULT});<br><br>}<br><br>This is the output from the CLI, and I can see that the wrongpin is set to 1, but when I do a NoOp right after leaving the macro, it says its empty...<br><br>
&nbsp;&nbsp;&nbsp; -- Executing [s@connect:36] Dial(&quot;SIP/1003-b7619b78&quot;, &quot;SIP/1203|30|grM(screen^1234)L(300000[:60000])&quot;) in new stack<br>&nbsp;&nbsp;&nbsp; -- Limit Data for this call:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; timelimit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 300000<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; play_warning&nbsp;&nbsp; = 60000<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; play_to_caller = yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; play_to_callee = yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; warning_freq&nbsp;&nbsp; = 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; start_sound&nbsp;&nbsp;&nbsp; = (null)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; warning_sound&nbsp; = beep<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; end_sound&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = beep<br>&nbsp;&nbsp;&nbsp; -- Called 1203<br>
&nbsp;&nbsp;&nbsp; -- SIP/1203-08d62408 is ringing<br>&nbsp;&nbsp;&nbsp; -- SIP/1203-08d62408 answered SIP/1003-b7619b78<br>&nbsp;&nbsp;&nbsp; -- Executing [s@macro-screen:1] Set(&quot;SIP/1203-08d62408&quot;, &quot;arg1=1234&quot;) in new stack<br>&nbsp;&nbsp;&nbsp; -- Executing [s@macro-screen:2] Wait(&quot;SIP/1203-08d62408&quot;, &quot;0.2&quot;) in new stack<br>
&nbsp;&nbsp;&nbsp; -- Executing [s@macro-screen:3] Read(&quot;SIP/1203-08d62408&quot;, &quot;acceptcall|sounds/pin|7&quot;) in new stack<br>&nbsp;&nbsp;&nbsp; -- Accepting a maximum of 7 digits.<br>&nbsp;&nbsp;&nbsp; -- &lt;SIP/1203-08d62408&gt; Playing &#39;sounds/pin&#39; (language &#39;en&#39;)<br>
&nbsp;&nbsp;&nbsp; -- User entered &#39;1&#39;<br>&nbsp;&nbsp;&nbsp; -- Executing [s@macro-screen:4] GotoIf(&quot;SIP/1203-08d62408&quot;, &quot;0?5:8&quot;) in new stack<br>&nbsp;&nbsp;&nbsp; -- Goto (macro-screen,s,8)<br>&nbsp;&nbsp;&nbsp; -- Executing [s@macro-screen:8] Set(&quot;SIP/1203-08d62408&quot;, &quot;MACRO_RESULT=CONTINUE&quot;) in new stack<br>
&nbsp;&nbsp;&nbsp; -- Executing [s@macro-screen:9] Set(&quot;SIP/1203-08d62408&quot;, &quot;wrongpin=1&quot;) in new stack<br>&nbsp;&nbsp;&nbsp; -- Executing [s@macro-screen:10] NoOp(&quot;SIP/1203-08d62408&quot;, &quot;Finish if-screen-32753&quot;) in new stack<br>
&nbsp;&nbsp;&nbsp; -- Executing [s@macro-screen:11] NoOp(&quot;SIP/1203-08d62408&quot;, &quot;MACRO_RESULT = CONTINUE&quot;) in new stack<br>&nbsp;&nbsp;&nbsp; -- Executing [s@connect:37] NoOp(&quot;SIP/1003-b7619b78&quot;, &quot;DIALSTATUS:ANSWER&quot;) in new stack<br>
&nbsp;&nbsp;&nbsp; -- Executing [s@connect:38] NoOp(&quot;SIP/1003-b7619b78&quot;, &quot;wrongpin=&quot;) in new stack<br><br>Is there a good way to pass this variable back to the context &quot;connect&quot;? <br><br>Thanks, <br>Best regards, <br>
Tobias<br>