<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Stan<div><br></div><div>Thanks for the very quick response.</div><div><br></div><div>Here is a snipped from the ASTERISK v1.4 - The Future of telephony 2nd Edition eBook explaining what a Context is.</div><div><br></div><div>***** START *****</div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 15px/normal Times; ">Contexts<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">Dialplans are broken into sections called contexts. Contexts are named groups of ex-<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">tensions, which serve several purposes.<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">Contexts keep different parts of the dialplan from interacting with one another. An<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">extension that is defined in one context is completely isolated from extensions in any<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">other context, unless interaction is specifically allowed. (We’ll cover how to allow in-<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">teraction between contexts near the end of the chapter.)<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">As a simple example, let’s imagine we have two companies sharing an Asterisk server.<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">If we place each company’s voice menu in its own context, they are effectively separated<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">from each other. This allows us to independently define what happens when, say, ex-<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">tension 0 is dialed: people pressing 0 at Company A’s voice menu will get Company<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">A’s receptionist, and callers pressing 0 at Company B’s voice menu will get Company<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">B’s receptionist. (This example assumes, of course, that we’ve told Asterisk to transfer<span style="font: 12.0px Helvetica">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Times; ">the calls to the receptionists when callers press 0.)</div></div><div>***** STOP *****</div><div><br></div><div>The above is exactly what I need to achieve.</div><div><br></div><div>"Contexts" should also have their own set of gateways and not able to use each others gateways in any way.</div><div><br></div><div><br></div><div>I really want the functionality OpenSIPS can Provide, ie. Fast Calls Setups, User Portal for Speed-Dial setup, individual CDR Records viewing, etc.. Just to name a few of them.</div><div><br></div><div><br></div><div>I still have to integrate Asterisk with OpenSIPS for the Media part, but I would first like to sort out the "Context" Part before doing that.</div><div><br></div><div>Thanks again for the help.</div><div><br></div><div>Really appreciate it.</div><div><br></div><div><br></div><div>Regards</div><div>Deon</div><div><br></div><div><br><div><div>On 30 Sep 2010, at 11:58 AM, Stanisław Pitucha wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On 30/09/10 10:48, Deon Vermeulen wrote:<br><blockquote type="cite">Is there perhaps someone that could give me a 2 "Context" config &nbsp;<br></blockquote><blockquote type="cite">example for OpenSIPS?<br></blockquote><br>It depends what you mean by a context. If you want to sort by the source<br>host, just use<br><br>if ($si == "1.2.3.4") {<br> &nbsp;route(something);<br>} else if ($si == "3.4.5.6") {<br> &nbsp;route(something_else);<br>}<br><br>In case you want to sort by specific users, do that after authorization:<br><br>if (!proxy_authorize...) {<br> &nbsp;proxy_chanllenge(...);<br> &nbsp;exit;<br>}<br>if ($au == "some_username") {<br>...<br>} else if ($au == "some_other_username") {<br>...<br>}<br><br>Or was there something else you were thinking about?<br><br>Regards,<br>Stan<br><br>_______________________________________________<br>Users mailing list<br><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>http://lists.opensips.org/cgi-bin/mailman/listinfo/users<br></div></blockquote></div><br></div></body></html>