Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
devel:xavp [2009/05/27 22:47]
miconda
devel:xavp [2009/07/01 10:38]
miconda
Line 4: Line 4:
 Proposal and prototype implementation by: Proposal and prototype implementation by:
    Daniel-Constantin Mierla <miconda [at] gmail (dot) com>    Daniel-Constantin Mierla <miconda [at] gmail (dot) com>
 +
 +NOT IN GIT REPOSITORY YET
 </code> </code>
  
Line 121: Line 123:
  
 NOTE: this avp printed to xlog will return a string: <<data:value of the pointer to data>> (e.g., <<data:0x973937393>>), good for debug purposes. NOTE: this avp printed to xlog will return a string: <<data:value of the pointer to data>> (e.g., <<data:0x973937393>>), good for debug purposes.
 +
 +This type of value is intended for internal usage, one of the modules that needs it immediately being **dialog**.
  
 === XAVP data value === === XAVP data value ===
Line 210: Line 214:
   * **less exposure the name conflicts by grouping**   * **less exposure the name conflicts by grouping**
     * modules can group their internal AVPs under a xavp, so other xavps with same name in global list won't affect the module functionality. Say dispatcher groups its avps under "dispatcher". Inside that list it can have xavp with names: dst, grp, cnt. In the global list or other sublists can be other avps with name 'dst', without any interference.     * modules can group their internal AVPs under a xavp, so other xavps with same name in global list won't affect the module functionality. Say dispatcher groups its avps under "dispatcher". Inside that list it can have xavp with names: dst, grp, cnt. In the global list or other sublists can be other avps with name 'dst', without any interference.
 +
 +  * **reduce number of parameters for some modules**
 +    * a module can reserve now only one name for xavp in default list. Inner xavp can have predefined names, without the risk for overlapping with other modules or config
 +    * **dispatcher** module can reserve xavp name "dispatcher" via modparam, while the names for AVPs dst, cnt, grp can be predefined and documented in readme.
  
 ===== Use cases ===== ===== Use cases =====
Line 216: Line 224:
  
   * **acc** module for multi-leg accounting - grouping will improve speed and remove the wrong behaviour when a value is not set in one leg - null is set for the right leg, not for the last one.   * **acc** module for multi-leg accounting - grouping will improve speed and remove the wrong behaviour when a value is not set in one leg - null is set for the right leg, not for the last one.
-  * **dispatcher** module - grouping +  * **dispatcher** module - grouping 
 +  * **dialog** module - store using generic data structure the dailog context pointer (get rid of current hack that adds a fake callback structure)
   * serial forking functions   * serial forking functions
-  * possible in lcr or carrierroute +  * possible in **lcr** or **carrierroute** 
-  * possible in utils, to store each line of http response in a grouped xavp list.+  * possible in **utils**, to store each line of http response in a grouped xavp list. 
 + 
 +===== Observations =====
  
 +  * it is not a replacement to existing AVPs, but an addition, a new class of pseudo-variables

Navigation

Wiki

Other

QR Code
QR Code devel:xavp (generated for current page)