Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > media > contrib-updates > by-pkgid > c7095aefea7b97fbd2a596dcbfb9d481 > files > 389

asterisk-docs-1.4.26.1-1mdv2008.1.i586.rpm

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Hot-Desking (extensions.conf)</title><link rel="stylesheet" href="styles.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /><link rel="start" href="index.html" title="Asterisk™: The Future of Telephony" /><link rel="up" href="asterisk-APP-G.html" title="Appendix G. An Example of func_odbc" /><link rel="prev" href="asterisk-APP-G.html" title="Appendix G. An Example of func_odbc" /><link rel="next" href="I_refentry_tt2931.html" title="Hot-Desking (func_odbc.conf)" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Hot-Desking (extensions.conf)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="asterisk-APP-G.html">Prev</a> </td><th width="60%" align="center">Appendix G. An Example of func_odbc</th><td width="20%" align="right"> <a accesskey="n" href="I_refentry_tt2931.html">Next</a></td></tr></table><hr /></div><div class="refentry" lang="en" xml:lang="en"><a id="asterisk-APP-G-1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>Hot-Desking (extensions.conf) — Dialplan code</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><a id="I_programlisting_tt2930"></a><pre class="programlisting">; Hot Desking Feature
[hotdesk]
; Hot Desk Login
exten =&gt; _11XX,1,NoOp()
exten =&gt; _11XX,n,Set(E=${EXTEN})
exten =&gt; _11XX,n,Verbose(1|Hot Desk Extension ${E} is changing status)
exten =&gt; _11XX,n,Verbose(1|Checking current status of extension ${E})
exten =&gt; _11XX,n,Set(${E}_STATUS=${HOTDESK_INFO(status,${E})})
exten =&gt; _11XX,n,Set(${E}_PIN=${HOTDESK_INFO(pin,${E})})
exten =&gt; _11XX,n,GotoIf($[${ISNULL(${${E}_STATUS})}]?invalid_user)

exten =&gt; _11XX,n,GotoIf($[${${E}_STATUS} = 1]?logout,1:login,1)

exten =&gt; login,1,NoOp()
exten =&gt; login,n,Set(PIN_TRIES=0)
exten =&gt; login,n,Set(MAX_PIN_TRIES=3)
exten =&gt; login,n(get_pin),NoOp()
exten =&gt; login,n,Set(PIN_TRIES=$[${PIN_TRIES} + 1])
exten =&gt; login,n,Read(PIN_ENTERED|enter-password|${LEN(${${E}_PIN})})
exten =&gt; login,n,GotoIf($[${PIN_ENTERED} = ${${E}_PIN}]?valid_login,1)
exten =&gt; login,n,Playback(invalid-pin,1)
exten =&gt; login,n,GotoIf($[${PIN_TRIES} &lt;= ${MAX_PIN_TRIES}]?get_pin:login_fail,1)

exten =&gt; valid_login,1,NoOp()
exten =&gt; valid_login,n,Set(LOCATION=${CUT(CHANNEL,/,2)})
exten =&gt; valid_login,n,Set(LOCATION=${CUT(LOCATION,-,1)})
exten =&gt; valid_login,n,Set(ARRAY(USERS_LOGGED_IN)=${HOTDESK_CHECK_PHONE_LOGINS
(${LOCATION})})
exten =&gt; valid_login,n,GotoIf($[${USERS_LOGGED_IN} &gt; 0]?logout_login,1)
exten =&gt; valid_login,n(set_login_status),NoOp()
exten =&gt; valid_login,n,Set(HOTDESK_STATUS(${E})=1\,${LOCATION})

exten =&gt; valid_login,n,GotoIf($[${ODBCROWS} &lt; 1]?error,1)
exten =&gt; valid_login,n,Playback(agent-loginok)
exten =&gt; valid_login,n,Hangup()

exten =&gt; logout_login,1,NoOp()
exten =&gt; logout_login,n,Set(ROW_COUNTER=0)
exten =&gt; logout_login,n,While($[${ROW_COUNTER} &lt; ${USERS_LOGGED_IN}])
exten =&gt; logout_login,n,Set(WHO=${HOTDESK_LOGGED_IN_USER(${LOCATION},${ROW_COUNTER})})
exten =&gt; logout_login,n,Set(HOTDESK_STATUS(${WHO})=0)
exten =&gt; logout_login,n,Set(ROW_COUNTER=$[${ROW_COUNTER} + 1])
exten =&gt; logout_login,n,EndWhile()
exten =&gt; logout_login,n,Goto(valid_login,set_login_status)

exten =&gt; logout,1,NoOp()
exten =&gt; logout,n,Set(HOTDESK_STATUS(${E})=0)
exten =&gt; logout,n,GotoIf($[${ODBCROWS} &lt; 1]?error,1)
exten =&gt; logout,n,Playback(silence/1&amp;agent-loggedoff)
exten =&gt; logout,n,Hangup()

exten =&gt; login_fail,1,NoOp()
exten =&gt; login_fail,n,Playback(silence/1&amp;login-fail)
exten =&gt; login_fail,n,Hangup()

exten =&gt; error,1,NoOp()
exten =&gt; error,n,Playback(silence/1&amp;connection-failed)
exten =&gt; error,n,Hangup()

exten =&gt; invalid_user,1,NoOp()
exten =&gt; invalid_user,n,Verbose(1|Hot Desk extension ${E} does not exist)
exten =&gt; invalid_user,n,Playback(silence/2&amp;invalid)
exten =&gt; invalid_user,n,Hangup()

include =&gt; hotdesk_outbound

[hotdesk_outbound]
exten =&gt; _X.,1,NoOp()
exten =&gt; _X.,n,Set(LOCATION=${CUT(CHANNEL,/,2)})
exten =&gt; _X.,n,Set(LOCATION=${CUT(LOCATION,-,1)})
exten =&gt; _X.,n,Set(WHO=${HOTDESK_PHONE_STATUS(${LOCATION})})
exten =&gt; _X.,n,GotoIf($[${ISNULL(${WHO})}]?no_outgoing,1)
exten =&gt; _X.,n,Set(${WHO}_CID_NAME=${HOTDESK_INFO(cid_name,${WHO})})
exten =&gt; _X.,n,Set(${WHO}_CID_NUMBER=${HOTDESK_INFO(cid_number,${WHO})})
exten =&gt; _X.,n,Set(${WHO}_CONTEXT=${HOTDESK_INFO(context,${WHO})})
exten =&gt; _X.,n,Goto(${${WHO}_CONTEXT},${EXTEN},1)

[international]
exten =&gt; _011.,1,NoOp()
exten =&gt; _011.,n,Set(E=${EXTEN})
exten =&gt; _011.,n,Goto(outgoing,call,1)

exten =&gt; i,1,NoOp()
exten =&gt; i,n,Playback(silence/2&amp;sorry-cant-let-you-do-that2)
exten =&gt; i,n,Hangup()

include =&gt; longdistance

[longdistance]
exten =&gt; _1NXXNXXXXXX,1,NoOp()
exten =&gt; _1NXXNXXXXXX,n,Set(E=${EXTEN})
exten =&gt; _1NXXNXXXXXX,n,Goto(outgoing,call,1)

exten =&gt; _NXXNXXXXXX,1,Goto(1${EXTEN},1)

exten =&gt; i,1,NoOp()
exten =&gt; i,n,Playback(silence/2&amp;sorry-cant-let-you-do-that2)
exten =&gt; i,n,Hangup()

include =&gt; local

[local]
exten =&gt; _416NXXXXXX,1,NoOp()
exten =&gt; _416NXXXXXX,n,Set(E=${EXTEN})
exten =&gt; _416NXXXXXX,n,Goto(outgoing,call,1)

exten =&gt; i,1,NoOp()
exten =&gt; i,n,Playback(silence/2&amp;sorry-cant-let-you-do-that2)
exten =&gt; i,n,Hangup()

[outgoing]
exten =&gt; call,1,NoOp()
exten =&gt; call,n,Set(CALLERID(name)=${${WHO}_CID_NAME})
exten =&gt; call,n,Set(CALLERID(number)=${${WHO}_CID_NUMBER})
exten =&gt; call,n,Dial(SIP/service_provider/${E})
exten =&gt; call,n,Playback(silence/2&amp;pls-try-call-later)
exten =&gt; call,n,Hangup()

[hotdesk_phones]
exten =&gt; _11XX,1,NoOp()
exten =&gt; _11XX,n,Set(E=${EXTEN})
exten =&gt; _11XX,n,Set(LOCATION=${HOTDESK_LOCATION(${E})})
exten =&gt; _11XX,n,GotoIf($[${ISNULL(${LOCATION})}]?voicemail,1)
exten =&gt; _11XX,n,Dial(SIP/${LOCATION},30)
exten =&gt; _11XX,n,Goto(voicemail,1)

exten =&gt; voicemail,1,NoOp()
exten =&gt; voicemail,n,Voicemail(${E}@hotdesk,u)
exten =&gt; voicemail,n,Hangup()</pre></div><div class="refsect1" lang="en" xml:lang="en"><a id="id4231230"></a><h2>See Also</h2><p>Hot-Desking (<span class="emphasis"><em>sip.conf</em></span>), Hot-Desking
      (<span class="emphasis"><em>func_odbc.conf</em></span>), <a href="asterisk-CHP-5.html" title="Chapter 5. Dialplan Basics">Chapter 5, <i>Dialplan Basics</i></a>, <a href="asterisk-CHP-6.html" title="Chapter 6. More Dialplan Concepts">Chapter 6, <i>More Dialplan Concepts</i></a>, <a href="asterisk-APP-B-146.html" title="Read()"><span class="refentrytitle">Read()</span></a>, <a href="asterisk-APP-E-12.html" title="CUT">CUT</a>,
      <a href="asterisk-APP-B-248.html" title="While()"><span class="refentrytitle">While()</span></a>, <a href="asterisk-APP-E-32.html" title="ISNULL">ISNULL</a>, <a href="asterisk-APP-B-238.html" title="VoiceMail()"><span class="refentrytitle">VoiceMail()</span></a>,
      <a href="asterisk-APP-E-6.html" title="CALLERID">CALLERID</a>, <a href="asterisk-APP-B-53.html" title="Dial()"><span class="refentrytitle">Dial()</span></a>, <a href="asterisk-APP-B-89.html" title="GotoIf()"><span class="refentrytitle">GotoIf()</span></a><code class="literal"></code></p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="asterisk-APP-G.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="asterisk-APP-G.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="I_refentry_tt2931.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix G. An Example of func_odbc </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Hot-Desking (func_odbc.conf)</td></tr></table></div><div xmlns="" id="svn-footer"><hr /><p>You are reading <em>Asterisk: The Future of Telephony</em> (2nd Edition for Asterisk 1.4), by Jim van Meggelen, Jared Smith, and Leif Madsen.<br />
       This work is licensed under the <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative Commons Attribution-Noncommercial-No Derivative Works License v3.0</a>.<br />
       To submit comments, corrections, or other contributions to the text, please visit <a href="http://oreilly.com/catalog/9780596510480/">http://www.oreilly.com/</a>.</p></div></body></html>