<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I hope this isn't considered "hijacking" a thread as I think this issue is related. &nbsp;The version of fs I'm using is from Feb 10, 2011, and I looked at the diff for mod_voicemail.c between trunk and the version I have installed, and it doesn't appear that anything related to this issue was modified. &nbsp;However, I am in the process recompiling with latest to be sure. &nbsp;In the mean time, perhaps you can help me understand what's going on:</div><div><br></div>I have been experiencing something odd related to voicemail and pressing 5 to reply. &nbsp;While researching the problem, this thread seems to suggest the reason, but not an obvious answer.<div><br></div><div>When you press 5 after listening to a voicemail, the mod_voicemail.c executes&nbsp;switch_core_session_execute_exten(session, cbt-&gt;cid_number, profile-&gt;callback_dialplan, profile-&gt;callback_context);, which I assume is equivalent to execute_extnesion. &nbsp;The context I'm using is the same context that handles all of my internal extensions, so I expected that when one extension leaves a message for another, pressing 5 after listening to the message would ring back the original extension. &nbsp;This is not working.</div><div><br></div><div>My dialplan has the following condition required before trying any internal extensions :</div><div><br></div><div><div>&nbsp;&nbsp; &nbsp; &nbsp;&lt;condition field="${user_exists(id ${destination_number} ${domain_name})}" expression="^true$" /&gt;</div></div><div><br></div><div>An example may make my question more clear:</div><div><br></div><div>I dial from 119 to 105. &nbsp;119 leaves a message. &nbsp;Later, 105 dials ** to retrieve its voicemails and listens to the message from 119. &nbsp;After the message, he dials 5 to return the call. &nbsp;mod_voicemail runs execute_extension to 119,XML,my_context. &nbsp;In my_context, I have the following to see what's up:</div><div><br></div><div><div><div>&lt;extension name="test" continue="true"&gt;</div></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><div>&lt;condition break="never" field="<b>destination_number</b>" expression="^<b>119</b>$"&gt;</div></div></div><div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;action application="log" data="<b>ERR Extension 119 matches</b>"/&gt;</div></div></div><div><div><div>&lt;/condition&gt;</div></div></div><div><div><div>&lt;condition break="never" field="<b>${user_exists(id ${destination_number} ${domain_name})}</b>" expression="^<b>true</b>$"&gt;</div></div></div><div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;action application="log" data="<b>ERR User Exists when using variables</b>"/&gt;</div></div></div><div><div><div>&lt;/condition&gt;</div></div></div><div><div><div>&lt;condition break="never" field="<b>${user_exists(id 119 ${domain_name})}</b>" expression="^<b>true</b>$"&gt;</div></div></div><div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;action application="log" data="<b>ERR User Exists when using plugged value</b>"/&gt;</div></div></div><div><div><div>&lt;/condition&gt;</div></div></div></blockquote><div>&lt;/extension&gt;</div><div><br></div><div>The output is:</div><div><br></div><div><div>2011-03-10 10:42:54.720596 [NOTICE] switch_core_session.c:2152 Execute log(ERR Extension 119 matches)</div><div>2011-03-10 10:42:54.720596 [ERR] mod_dptools.c:1183 <b>Extension 119 matches</b></div><div>2011-03-10 10:42:54.720596 [NOTICE] switch_core_session.c:2152 Execute log(ERR User Exists when using plugged value)</div><div>2011-03-10 10:42:54.720596 [ERR] mod_dptools.c:1183 <b>User Exists when using plugged value</b></div></div><div><br></div><div>Notice that the second condition fails. &nbsp;Why is that? &nbsp;Is it related to the issue identified in this thread? &nbsp;That execute_extension is somehow setting destination_number differently than transfer?</div><div><br></div><div>Also (not shown here), I have applicaiton="info" as the very next condition, and it shows dialed_extension as **, not 119. &nbsp;I'm very confused about that.</div><div><br></div><div>How do I remedy this since mod_voicemail is using execute_extension? &nbsp;Can I somehow determine this and execute my own transfer? &nbsp;Or should I somehow modify my user_exists expression?</div><div><br></div><div>Thanks for any guidance!</div><div><br></div><div>-Troy</div><div><br></div><div><br></div><div><div><div>On Oct 4, 2010, at 1:55 PM, Michael Collins wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Yes, transfer is your friend in this scenario. :)<br>-MC<br><br><div class="gmail_quote">On Mon, Oct 4, 2010 at 12:55 PM, Tim St. Pierre <span dir="ltr">&lt;<a href="mailto:fs-list@communicatefreely.net">fs-list@communicatefreely.net</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">Michael Collins wrote:<br>
&gt; Are you trying to bridge the current leg (user &lt;--&gt; voicemail) to<br>
&gt; another endpoint? If so, how are you doing that? Are you transferring<br>
&gt; the leg back into the dialplan for processing?<br>
&gt;<br>
</div>I may have just answered my own question - quite by accident while working on another problem.<br>
<br>
I was sending the call back to the dial plan for processing, but I was using the execute_extension<br>
application instead of transfer<br>
<br>
It looks like execute_extension doesn't affect the destination_number variable, whereas transfer<br>
changes the destination number, and sets the previously dialed number as RDNIS.<br>
<br>
Changing my logic to use transfer instead of execute_extension seems to have solved things.<br>
<div><div></div><div class="h5"><br>
-Tim<br>
<br>
_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br>
_______________________________________________<br>FreeSWITCH-users mailing list<br><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>http://lists.freeswitch.org/mailman/listinfo/freeswitch-users<br>UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br>http://www.freeswitch.org<br></blockquote></div><br></div></body></html>