[asterisk-dev] [Code Review] 4379: Example configuration scenario - Super Awesome Company: Phase 1 - Patch 1

rnewton reviewboard at asterisk.org
Thu Feb 5 20:26:01 CST 2015



> On Jan. 30, 2015, 7:51 p.m., Paul Belanger wrote:
> > /branches/13/configs/examples/super_awesome_company/README, line 2
> > <https://reviewboard.asterisk.org/r/4379/diff/1/?file=71107#file71107line2>
> >
> >     maybe shorten directory name to awesome, or sae?
> >     
> >     Or, another option would be to use Acme, Inc.

I think "awesome" works.


> On Jan. 30, 2015, 7:51 p.m., Paul Belanger wrote:
> > /branches/13/configs/examples/super_awesome_company/asterisk.conf, line 1
> > <https://reviewboard.asterisk.org/r/4379/diff/1/?file=71108#file71108line1>
> >
> >     My thoughts of this file is just to symbiotic link the current asterisk.conf file.
> >     
> >     Since, you are'nt really doing anything here.

If someone is using this example, there shouldn't be a current asterisk.conf file. The example asterisk.conf has trimmed documentation down to the most basic of what you might want to change for a simple setup.


> On Jan. 30, 2015, 7:51 p.m., Paul Belanger wrote:
> > /branches/13/configs/examples/super_awesome_company/asterisk.conf, lines 28-36
> > <https://reviewboard.asterisk.org/r/4379/diff/1/?file=71108#file71108line28>
> >
> >     This seems to be dead code, as such just remove?

I think we should leave it there to emphasize the importance of it. This example is both a template and an example, so they may want to uncomment these lines. It is hard to strike a balance between removing everything they might need to uncomment and leaving everything in (ending up back with the previous .conf.sample files).

Should we explain more in the comments when we would uncomment it?


> On Jan. 30, 2015, 7:51 p.m., Paul Belanger wrote:
> > /branches/13/configs/examples/super_awesome_company/extensions.conf, lines 6-20
> > <https://reviewboard.asterisk.org/r/4379/diff/1/?file=71109#file71109line6>
> >
> >     While this is good practices, in the real world using MAC for actual extensions is bulky and complicated.
> >     
> >     I would suggest using actually 101-115 as extension numbers but using mac for the authenticate portion of your sip.conf files.

Maybe we can change this. See conversation in Mark's comment on same topic.


> On Jan. 30, 2015, 7:51 p.m., Paul Belanger wrote:
> > /branches/13/configs/examples/super_awesome_company/extensions.conf, line 42
> > <https://reviewboard.asterisk.org/r/4379/diff/1/?file=71109#file71109line42>
> >
> >     I'd also prefer to see the first time always a naked NoOp()
> >     
> >     
> >     exten => 8000,1,NoOp()
> >         same => n,Verbose(1, "blah")
> >     
> >     this way, when jumping into new contexts, you know you'll always hit a naked noop.

Can you explain the usefulness of this more?


> On Jan. 30, 2015, 7:51 p.m., Paul Belanger wrote:
> > /branches/13/configs/examples/super_awesome_company/extensions.conf, line 50
> > <https://reviewboard.asterisk.org/r/4379/diff/1/?file=71109#file71109line50>
> >
> >     using ._ is not recommend practices and will generate warnings in asterisk.
> >     
> >     Change to _X.

Oops, thought I had _X., thanks.


> On Jan. 30, 2015, 7:51 p.m., Paul Belanger wrote:
> > /branches/13/configs/examples/super_awesome_company/extensions.conf, lines 53-66
> > <https://reviewboard.asterisk.org/r/4379/diff/1/?file=71109#file71109line53>
> >
> >     I disagree with this comments. Moving subroutines into there own contexts allow you to reuse code between applications.  However, this example does not do this, it could be possible to create generate subroutines in asterisk samples to share across my examples.

I ended up rewriting this whole section for a few reasons.


- rnewton


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4379/#review14401
-----------------------------------------------------------


On Jan. 27, 2015, 7:15 p.m., rnewton wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4379/
> -----------------------------------------------------------
> 
> (Updated Jan. 27, 2015, 7:15 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> One of things discussed at the last AstriDevCon was better documentation (for everything!), but in particular, we mentioned needing some example configurations that pertain to a real-world scenario. That is, as opposed to the current "sample" files which are sort of all over the place at this point.
> 
> This patch proposes a basic and minimal configuration of Asterisk to satisfy the requirements for the first phase of Super Awesome Company's implementation of Asterisk.
> 
> I will submit four separate patches for the first phase, so that we don't have to review the entire thing all at once. This review is for the first patch.
> 
> Who is Super Awesome Company? See https://wiki.asterisk.org/wiki/display/AST/Super+Awesome+Company
> 
> For the first patch, I am attempting to satisfy the below requirements. The patch does not include a new make target, as I believe Matt Jordan offered to handle that.
> 
> SAC requires:
> 
>     * PJSIP connectivity for all employee desk phones.
>     * The ability for employees to call one another inside of the office.
>     * Voicemail boxes for each of the employees.
> 
> "Basic" configuration
> 
> We want SAC to have a clean system. That means:
> 
>     * No 'autoload' in modules.conf. Explicitly load a basic configuration. If SAC doesn't need the module, don't load it.
>     * Every module loaded should have a configuration file that is appropriate for it. This includes all the 'core' things that need configuration.
> 
> pjsip.conf
> 
>     * A PJSIP configuration for their desk phones. Assume every endpoint that is a phone has:
>         * A voicemail mailbox that they can subscribe to
>         * A hint for their device
>         * Note that the PJSIP configuration should adhere to best practices. That means MAC addresses for device names, etc.
> 
> extensions.conf
> 
>     * A safe dialplan for intra-company communication. This should be templated out so that it is trivial to add additional devices (use pattern matching/pattern matching hints, etc.)
>     * Receiving a Busy/Unavailable should result in going to VoiceMail
>     * A user should be able to dial something and get to their VoiceMailMain without having to enter in their extension number 
>     * Note that mapping of MAC address endpoints to extension numbers should be done in some fashion that is easily extensible.
> 
> voicemail.conf
> 
>     * Set up mailboxes for every person in SAC. Assign 'default' pins. Create reasonable basic settings.
>     * Do not set up e-mail or pager addresses.
> 
> 
> REVIEW?
> 
> Please, if possible look at this from a few angles:
> 
>  * Use the configuration, configure a couple phones and call between them. Leave voicemails and retrieve them.
>  * Have I created any security issues?
>  * Is my dialplan easy to understand?
>  * Could anything be done more efficiently without making it over-complicated?
>  * Have I over-complicated anything?
>  * Are there any critical settings I'm missing from any of the files?
> 
> A couple, more specific questions:
> 
>  * We have sample configs in /configs/samples; what directory do we want these configurations in? (I used /configs/examples for now, but I don't really like it)
>  * We have the make target "make samples" for the current samples; what do we want for these new configs?
> 
> 
> Diffs
> -----
> 
>   /branches/13/configs/examples/super_awesome_company/voicemail.conf PRE-CREATION 
>   /branches/13/configs/examples/super_awesome_company/pjsip.conf PRE-CREATION 
>   /branches/13/configs/examples/super_awesome_company/musiconhold.conf PRE-CREATION 
>   /branches/13/configs/examples/super_awesome_company/modules.conf PRE-CREATION 
>   /branches/13/configs/examples/super_awesome_company/logger.conf PRE-CREATION 
>   /branches/13/configs/examples/super_awesome_company/indications.conf PRE-CREATION 
>   /branches/13/configs/examples/super_awesome_company/extensions.conf PRE-CREATION 
>   /branches/13/configs/examples/super_awesome_company/asterisk.conf PRE-CREATION 
>   /branches/13/configs/examples/super_awesome_company/README PRE-CREATION 
> 
> Diff: https://reviewboard.asterisk.org/r/4379/diff/
> 
> 
> Testing
> -------
> 
> Setup Asterisk with configuration, connected up three phones using the first three users. Made calls between them all, left voicemails and retrieved them with all users. Verified MWI working with all phones.
> 
> 
> Thanks,
> 
> rnewton
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150206/7b5766c8/attachment-0001.html>


More information about the asterisk-dev mailing list