[asterisk-dev] [Code Review] 3976: New module: res_pjsip_phoneprov_provider provides the integration between res_pjsip and res_phoneprov.
rmudgett
reviewboard at asterisk.org
Thu Sep 18 18:32:15 CDT 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3976/#review13359
-----------------------------------------------------------
branches/12/res/res_pjsip_phoneprov_provider.c
<https://reviewboard.asterisk.org/r/3976/#comment23848>
Probably should be marked as extended since res_phoneprov is extended.
branches/12/res/res_pjsip_phoneprov_provider.c
<https://reviewboard.asterisk.org/r/3976/#comment23852>
Concerned about the parameter names chosen. All uppercase parameter names is a bit unusual.
I think there is a requirement for pjsip parameters to be snake_case for ARI.
branches/12/res/res_pjsip_phoneprov_provider.c
<https://reviewboard.asterisk.org/r/3976/#comment23851>
Thge ??
branches/12/res/res_pjsip_phoneprov_provider.c
<https://reviewboard.asterisk.org/r/3976/#comment23850>
Another case where the if test burried in AST_VAR_LIST_INSERT_TAIL() is redundant.
branches/12/res/res_pjsip_phoneprov_provider.c
<https://reviewboard.asterisk.org/r/3976/#comment23847>
Use:
for (; (pp = ao2_iter_next()); ao2_ref(pp, -1))
This way you could use continue instead of goto cleanup.
Probably should break up the while loop body into functions. It is rather large.
branches/12/res/res_pjsip_phoneprov_provider.c
<https://reviewboard.asterisk.org/r/3976/#comment23846>
Check for failure.
- rmudgett
On Sept. 18, 2014, 4:21 p.m., George Joseph wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3976/
> -----------------------------------------------------------
>
> (Updated Sept. 18, 2014, 4:21 p.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Repository: Asterisk
>
>
> Description
> -------
>
> This module allows res_pjsip to integrate with res_phoneprov and depends on the res_phoneprov refactor (r3970).
>
> A new pjsip.conf object is defined by this module...
>
> ;============EXAMPLE PHONEPROV CONFIGURATION================================
>
> ; Before configuring provisioning here, see the documentation for res_phoneprov
> ; and configure phoneprov.conf appropriately.
>
> ; For each user to be autoprovisioned, a [phoneprov] configuration section
> ; must be created. At a minimum, the 'type', 'PROFILE' and 'MAC' variables must
> ; be set. All other variables are optional.
> ; Example:
>
> ;[1000]
> ;type=phoneprov ; must be specified as 'phoneprov'
> ;endpoint=1000 ; Required only if automatic setting of
> ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
> ; are needed.
> ;PROFILE=digium ; required
> ;MAC=deadbeef4dad ; required
> ;SERVER=myserver.example.com ; A standard variable
> ;TIMEZONE=America/Denver ; A standard variable
> ;MYVAR=somevalue ; A user confdigured variable
>
> ; If the phoneprov sections have common variables, it is best to create a
> ; phoneprov template. The example below will produce the same configuration
> ; as the one specified above except that MYVAR will be overridden for
> ; the specific user.
> ; Example:
>
> ;[phoneprov_defaults](!)
> ;type=phoneprov ; must be specified as 'phoneprov'
> ;PROFILE=digium ; required
> ;SERVER=myserver.example.com ; A standard variable
> ;TIMEZONE=America/Denver ; A standard variable
> ;MYVAR=somevalue ; A user configured variable
>
> ;[1000](phoneprov_defaults)
> ;endpoint=1000 ; Required only if automatic setting of
> ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
> ; are needed.
> ;MAC=deadbeef4dad ; required
> ;MYVAR=someOTHERvalue ; A user confdigured variable
>
> ; To have USERNAME and SECRET automatically set, the endpoint
> ; specified here must in turn have an outbound_auth section defined.
>
> ; Fuller example:
>
> ;[1000]
> ;type=endpoint
> ;outbound_auth=1000-auth
> ;callerid=My Name <8005551212>
> ;transport=transport-udp-nat
>
> ;[1000-auth]
> ;type=auth
> ;auth_type=userpass
> ;username=myname
> ;password=mysecret
>
> ;[phoneprov_defaults](!)
> ;type=phoneprov ; must be specified as 'phoneprov'
> ;PROFILE=someprofile ; required
> ;SERVER=myserver.example.com ; A standard variable
> ;TIMEZONE=America/Denver ; A standard variable
> ;MYVAR=somevalue ; A user configured variable
>
> ;[1000](phoneprov_defaults)
> ;endpoint=1000 ; Required only if automatic setting of
> ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
> ; are needed.
> ;MAC=deadbeef4dad ; required
> ;MYVAR=someUSERvalue ; A user confdigured variable
> ;LABEL=1000 ; A standard variable
>
> ; The previous sections would produce a template substitution map as follows:
>
> ;MAC=deadbeef4dad ;added by pp1000
> ;USERNAME=myname ;automatically added by 1000-auth username
> ;SECRET=mysecret ;automatically added by 1000-auth password
> ;PROFILE=someprofile ;added by defaults
> ;SERVER=myserver.example.com ;added by defaults
> ;SERVER_PORT=5060 ;added by defaults
> ;MYVAR=someUSERvalue ;added by defaults but overdidden by user
> ;CALLERID=8005551212 ;automatically added by 1000 callerid
> ;DISPLAY_NAME=My Name ;automatically added by 1000 callerid
> ;TIMEZONE=America/Denver ;added by defaults
> ;TZOFFSET=252100 ;automatically calculated by res_phoneprov
> ;DST_ENABLE=1 ;automatically calculated by res_phoneprov
> ;DST_START_MONTH=3 ;automatically calculated by res_phoneprov
> ;DST_START_MDAY=9 ;automatically calculated by res_phoneprov
> ;DST_START_HOUR=3 ;automatically calculated by res_phoneprov
> ;DST_END_MONTH=11 ;automatically calculated by res_phoneprov
> ;DST_END_MDAY=2 ;automatically calculated by res_phoneprov
> ;DST_END_HOUR=1 ;automatically calculated by res_phoneprov
> ;ENDPOINT_ID=1000 ;automatically added by this module
> ;AUTH_ID=1000-auth ;automatically added by this module
> ;TRANSPORT_ID=transport-udp-nat ;automatically added by this module
> ;LABEL=1000 ;added by user
>
>
> Diffs
> -----
>
> branches/12/res/res_pjsip_phoneprov_provider.c PRE-CREATION
> branches/12/configs/pjsip.conf.sample 423501
>
> Diff: https://reviewboard.asterisk.org/r/3976/diff/
>
>
> Testing
> -------
>
> I'm already starting to convert sip peers to pjsip endpoints with no change to my Grandstream templates.
>
>
> Thanks,
>
> George Joseph
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140918/0871dea0/attachment-0001.html>
More information about the asterisk-dev
mailing list