convert chan_sip sip_pvt and sip_registry structures to use string fields
add 'const' qualifiers to a few API calls that don't modify their input strings
add an asprintf() wrapper to astmm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
- use for loops instead of while loops for basic list traversals
- only calculate word length one time in CLI complete functions
- use calloc instead of malloc + memset
- remove some unnecessary casts
- formatting tweaks
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This should prevent us from unintentionally changing variable
values when they're returned from pbx_builtin_getvar_helper.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Allow manager originate and spool files to set writable dialplan functions,
including those that use the pipe symbol to seperate arguments.
Allow CDR dialplan function to be able to set the account code and userfield.
This deprecates the use of the Account header in manager originate and spool
files, as well as the SetAccount and SetCDRUserField applications.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
optimize device state related functions
add ast_get_channel_by_name_prefix to allow searching for matching channels in O(1) operation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
- locking of functions list during registration/unregistration/searching
- rename of function description structure to be consistent with the rest of the API
- addition of 'desc' element to description structure, for detailed description (like applications)
- addition of 'show function' CLI command to show function details
- conversion of existing functions to use uppercase names to match policy
- creation of new 'pbx_functions.so' module to contain standard 'builtin' functions
- removal of all builtin functions from pbx.c and apps and placement into new 'funcs' directory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
int pbx_builtin_serialize_variables(struct ast_channel *chan, char *buf, size_t size);
takes a chan and a char * 'buf' assumed to be 'size' bytes.
The function fills 'buf' with a <CR>('\n') delimited list of name,value pairs in turn delimeted by '='
eg:
SIPCALLID=f30e4e72-f715193f@1.2.3.4
SIPUSERAGENT=Sipura/SPA2000-2.0.6(c)
SIPDOMAIN=1.2.3.4
It returns the acutal number of variables encountered.
If the attempt to fill 'buf' goes beyond 'size' bytes the operation is halted and the incomplete string is returned as is.
To demonstrate a use for this, the "show channel <channame>" command has been retrofitted with the call so it also dumps all of the chan's vars
*CLI> show channel Zap/5-1
-- General --
Name: Zap/5-1
Type: Zap
UniqueID: 1098480666.17
Caller ID: 4999
Caller ID Name: Tony
DNID Digits: (N/A)
State: Up (6)
Rings: 0
NativeFormat: 68
WriteFormat: 4
ReadFormat: 4
1st File Descriptor: 22
Frames in: 41969
Frames out: 83240
Time to Hangup: 0
Elapsed Time: 0h13m54s
-- PBX --
Context: phone1
Extension: 4994
Priority: 2
Call Group: 2
Pickup Group: 2
Application: Dial
Data: IAX2/ulaw@cube1/00010014994@croip
Stack: 0
Blocking in: ast_waitfor_nandfds
Variables:
DIALEDPEERNUMBER=ulaw@cube1/00010014994@croip
DIALEDPEERNAME=IAX2/cube1/3
CALLTYPE=SPEECH
tempvar=tempval
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4051 65c4cc65-6c06-0410-ace0-fbb531ad65f3