Well, it is not only about personal preferences and how is nicer,
etc...you should consider also the required work to do - at the end
somebody has to implement this. And my questions is: considering that
the development resources are limited, does it make sense to invest them
in just creating an alternative to something already existing ?
Regards,
Bogdan
On 04/11/2012 05:04 PM, Ali Pey wrote:
Saúl,
It's very simple to define a simple text pre-processor. It would be
one with only basic text/macro replacement with no fancy features.
I can understand that it would make more sense for you to use m4, but
I don't understand how this would stop you from doing that? Your
personal preference doesn't have to change.
It's all about simplicity. It would make it one or two steps shorter,
faster and simpler for people that are not quite familiar with m4 or
have simple requirements. Not every user is an expert.
Ali
On Tue, Apr 10, 2012 at 4:36 PM, Saúl Ibarra Corretgé
<[email protected] <mailto:[email protected]>> wrote:
Hi all,
On Apr 10, 2012, at 6:13 PM, Ali Pey wrote:
> I also think it would be a great addition to have a simple
build-in text pre-processing. For more advance features people can
continue to use m4 as desired.
>
The problem is the word "simple" on your sentence :-) How do we
tell if a feature request qualifies as "simple" or not?
For me, the config file is fine as it is. It does have
limitations, but m4 helps in solving them.
> Regards,
> Ali
>
>
> On Tue, Apr 10, 2012 at 12:05 PM, Nick Altmann
<[email protected] <mailto:[email protected]>> wrote:
> Against for M4:
> Configuration file may not be generated properly from m4 file(s)
> sometimes (because missed errors in m4), then server cannot start in
> some cases. It's when m4 in init.d script. When cfg-file built
from m4
> manually, it's uncomfortable.
>
> In my opinion, opensips is the most powerful sip server, so it
should
> have both options. And users should make decision which to
better use
> in each case.
>
You should not attempt to run OpenSIPS with the new generated file
before testing it, you may have made a silly typo and the server
would be stopped. You can do it in 2 steps:
- Regenerate the cfg file from the m4 files and call use opensips
-c to validate the config file
- Restart the service if the config was valid
>
> 2012/4/10 Bogdan-Andrei Iancu <[email protected]
<mailto:[email protected]>>:
> > Hi,
> >
> > I'm bringing here a discussion started on devel list, as I
would like to get
> > more opinions on the matter.
> >
> > The discussion started around the decision if makes sense to
have MACRO
> > substitution (as text pre-processing) directly in OpenSIPS,
considering that
> > right now M4 is heavenly used for this (as additional tool to
opensips).
> >
> > So, the debate was : have built-in text pre-processing versus
using M4 as
> > text processor
> >
> > Pros for M4:
> > - no effort to develop extra stuff - just install M4
> > - can do really complex things (more than only macros,
ifdef, include,
> > etc)
> > - you can use it or not
> > - easy to integrate with start / stop scripts
> > Against for M4:
> > - need to be installed and integrated
I'm not aware of any system where installing m4 is troublesome.
> > - you may have a mismatch for the line number (if errors
reported in
> > cfg) between the .m4 file and .cfg file
> >
While this is true, you can look at the generated cfg file, and
leaving comments is also a good idea ;-)
> > Pros for buit-in:
> > - you do no need to install M4 at all (everything comes
packet)
> > - you may get accurate reporting on errors (for line in cfg)
> > Against for M4:
> > - more devel work to re-implement macros, ifdef, etc
> >
> >
> > Now, I would like to get your opinions on that (you as
opensips users), to
> > see if we stick to using M4 for cfg pre-processing or there is
a real need
> > to have this functionality as built-in.
> >
As I said in the other thread I think that using resources for
enhancing the current configuration language is not a good idea.
Ideally I'd like to program my routing logic in a real programming
language like Python, Lua or Ruby not something totally different
which newcomers need to learn and is not a fully blown programing
language.
M4 is a powerful tool which can be used together with the current
configuration language to achieve all the requirements mentioned
in the previous mail, without modifying OpenSIPS.
Maybe it would be a good idea to use m4 in the sample configs?
Having a opensips.m4 file with the main routing logic and some
local.m4 file with custom settings like DB configs, etc could help
people get their feet wet with m4. Even adding a "opensipsctl
reconfigure" command could make sense, it could just do the following:
pushd /etc/opensips
m4 opensips.m4 > opensips.cfg
opensips -c /etc/opensips/opensips.cfg
popd
So if there is an error you could see it before actually
attempting to run OpenSIPS with the change applied.
Those are my 2 cents :-)
Regards,
--
Saúl Ibarra Corretgé
AG Projects
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users