[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