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
api:lua:devel [2010/11/17 00:12]
miconda
api:lua:devel [2011/02/03 09:47] (current)
85.178.84.141
Line 16: Line 16:
   * **Lua**: http://www.lua.org   * **Lua**: http://www.lua.org
  
 +Remarks:
 +
 +  * check the modules' documentation that export functions to Lua (they match subpackage name) to understand better the functionality provided by specific functions
 +  * the parameters must be strings if the prototype have them in between double quotes, or integers if there are no double quotes
 +  * any parameter specified in prototype enclosed in between square brackets is optional
 + 
 ===== SR Package ===== ===== SR Package =====
  
Line 77: Line 83:
  
 Note that module functions that have parameter fixups cannot be executed unless they have free fixup. This is to prevent memory leaks caused by fixup functions. If you have doubts about a module function, whether it is safe to execute or not from Lua, ask on devel mailing list: **sr-dev [at] lists.sip-router.org**. Note that module functions that have parameter fixups cannot be executed unless they have free fixup. This is to prevent memory leaks caused by fixup functions. If you have doubts about a module function, whether it is safe to execute or not from Lua, ask on devel mailing list: **sr-dev [at] lists.sip-router.org**.
 +
 +==== sr.is_myself ====
 +
 +Return true if the URI matches local IPs and aliases.
 +
 +Prototype
 +
 +<code c>
 +sr.is_myself("uri")
 +</code>
 +
 +
 +==== sr.setflag ====
 +
 +Set message flag.
 +
 +Prototype
 +
 +<code c>
 +sr.setflag(index)
 +</code>
 +
 +==== sr.resetflag ====
 +
 +Reset message flag.
 +
 +Prototype
 +
 +<code c>
 +sr.resetflag(index)
 +</code>
 +
 +==== sr.isflagser ====
 +
 +Test if message flag is set.
 +
 +Prototype
 +
 +<code c>
 +sr.isflagset(index)
 +</code>
 +
 +==== sr.sebtflag ====
 +
 +Set branch flag.
 +
 +Prototype
 +
 +<code c>
 +sr.setbflag(index)
 +</code>
 +
 +==== sr.resetflag ====
 +
 +Reset branch flag.
 +
 +Prototype
 +
 +<code c>
 +sr.resetflag(index)
 +</code>
 +
 +==== sr.isbflagser ====
 +
 +Test if branch flag is set.
 +
 +Prototype
 +
 +<code c>
 +sr.isbflagset(index)
 +</code>
 +
 +
 +==== sr.seturi ====
 +
 +Set request URI.
 +
 +Prototype
 +
 +<code c>
 +sr.seturi("uri")
 +</code>
 +
 +==== sr.setuser ====
 +
 +Set request URI user part.
 +
 +Prototype
 +
 +<code c>
 +sr.setuser("user")
 +</code>
 +
 +==== sr.sethost ====
 +
 +Set request URI host part.
 +
 +Prototype
 +
 +<code c>
 +sr.sethost("host")
 +</code>
 +
 +==== sr.setdsturi ====
 +
 +Set destination URI (outbound proxy).
 +
 +Prototype
 +
 +<code c>
 +sr.setdsturi("uri")
 +</code>
 +
 +==== sr.resetdsturi ====
 +
 +Reset destination URI (outbound proxy).
 +
 +Prototype
 +
 +<code c>
 +sr.resetdsturi()
 +</code>
  
 ===== SR.HDR Package ===== ===== SR.HDR Package =====
Line 228: Line 356:
 <code c> <code c>
 sr.tm.t_relay() sr.tm.t_relay()
 +</code>
 +
 +==== sr.tm.t_on_branch ====
 +
 +Set on branch route.
 +
 +Prototype
 +
 +<code c>
 +sr.tm.t_on_branch("routeid")
 +</code>
 +
 +==== sr.tm.t_on_reply ====
 +
 +Set on reply route.
 +
 +Prototype
 +
 +<code c>
 +sr.tm.t_on_reply("routeid")
 +</code>
 +
 +==== sr.tm.t_on_failure ====
 +
 +Set on failure route.
 +
 +Prototype
 +
 +<code c>
 +sr.tm.t_on_failure("routeid")
 +</code>
 +
 +==== sr.tm.t_check_trans ====
 +
 +Check for existence of transaction.
 +
 +Prototype
 +
 +<code c>
 +sr.tm.t_check_trans()
 +</code>
 +
 +==== sr.tm.t_is_canceled ====
 +
 +Return >0 if the INVITE transaction is canceled.
 +
 +Prototype
 +
 +<code c>
 +sr.tm.t_is_canceled()
 </code> </code>
  
Line 309: Line 487:
  
 ==== sr.rr.record_route ==== ==== sr.rr.record_route ====
 +
 +Add Record-Route header.
 +
 +Prototype
 +
 +<code c>
 +sr.rr.record_route(["params"])
 +</code>
  
 ==== sr.rr.loose_route ==== ==== sr.rr.loose_route ====
 +
 +
 +Handle Route headers.
 +
 +Prototype
 +
 +<code c>
 +sr.rr.loose_route()
 +</code>
 +
  
 ===== SR.AUTH Package ===== ===== SR.AUTH Package =====
  
 ==== sr.auth.www_challenge ==== ==== sr.auth.www_challenge ====
 +
 +Send WWW digest authentication challenge reply (401).
 +
 +Prototype
 +
 +<code c>
 +sr.auth.www_challenge("realm", flags)
 +</code>
  
 ==== sr.auth.proxy_challenge ==== ==== sr.auth.proxy_challenge ====
 +
 +Send Proxy digest authentication challenge reply (401).
 +
 +Prototype
 +
 +<code c>
 +sr.auth.proxy_challenge("realm", flags)
 +</code>
  
 ==== sr.auth.pv_www_authenticate ==== ==== sr.auth.pv_www_authenticate ====
 +
 +Perform WWW digest authentication using password from parameter.
 +
 +Prototype
 +
 +<code c>
 +sr.auth.pv_www_authenticate("realm", "password", flags)
 +</code>
 +
  
 ==== sr.auth.pv_proxy_authenticate ==== ==== sr.auth.pv_proxy_authenticate ====
 +
 +
 +Perform Proxy digest authentication using password from parameter.
 +
 +Prototype
 +
 +<code c>
 +sr.auth.pv_proxy_authenticate("realm", "password", flags)
 +</code>
  
 ==== sr.auth.consume_credentials ==== ==== sr.auth.consume_credentials ====
 +
 +Delete authentication credentials from SIP request.
 +
 +Prototype
 +
 +<code c>
 +sr.auth.consume_credentials()
 +</code>
  
 ===== SR.AUTH_DB Package ===== ===== SR.AUTH_DB Package =====
  
 ==== sr.auth_db.www_authenticate ==== ==== sr.auth_db.www_authenticate ====
 +
 +Perform WWW digest authentication against database.
 +
 +Prototype
 +
 +<code c>
 +sr.auth_db.www_authenticate("realm", "table")
 +</code>
  
 ==== sr.auth_db.proxy_authenticate ==== ==== sr.auth_db.proxy_authenticate ====
 +
 +Perform Proxy digest authentication against database.
 +
 +Prototype
 +
 +<code c>
 +sr.auth_db.proxy_authenticate("realm", "table")
 +</code>
  
 ===== SR.MAXFWD Package ===== ===== SR.MAXFWD Package =====
  
 ==== sr.maxfwd.process_maxfwd ==== ==== sr.maxfwd.process_maxfwd ====
 +
 +
 +Handle Max Forward header.
 +
 +Prototype
 +
 +<code c>
 +sr.maxfwd.process_maxfwd(newlimit)
 +</code>
  
 ===== SR.REGISTRAR Package ===== ===== SR.REGISTRAR Package =====
  
 ==== sr.registrar.save ==== ==== sr.registrar.save ====
 +
 +Save contacts to user location table.
 +
 +Prototype
 +
 +<code c>
 +sr.registrar.save("table" [, flags])
 +</code>
 +
  
 ==== sr.registrar.lookup ==== ==== sr.registrar.lookup ====
 +
 +Lookup contacts in user location table.
 +
 +Prototype
 +
 +<code c>
 +sr.registrar.lookup("table")
 +</code>
 +
 +
 +===== SR.dispatcher Package =====
 +
 +==== sr.dispatcher.select ====
 +
 +Select first destination address.
 +
 +Prototype
 +
 +<code c>
 +sr.dispatcher...
 +</code>
 +
 +==== sr.dispatcher.next ====
 +
 +Select next destination address.
 +
 +Prototype
 +
 +<code c>
 +sr.dispatcher...
 +</code>
 +
 +==== sr.dispatcher.mark ====
 +
 +Set status for destination address.
 +
 +Prototype
 +
 +<code c>
 +sr.dispatcher...
 +</code>
 +
 +==== sr.dispatcher.is_from ====
 +
 +Detects if the message comes from a dispatcher address.
 +
 +Prototype
 +
 +<code c>
 +sr.dispatcher...
 +</code>
 +
 +===== SR.XHTTP Package =====
 +
 +==== sr.xhttp.reply ====
 +
 +Send an HTTP reply.
 +
 +Prototype
 +
 +<code c>
 +sr.xhttp.reply(code, reason, content-type, body)
 +</code>

Navigation

Wiki

Other

QR Code
QR Code api:lua:devel (generated for current page)