Commit Graph

4457 Commits

Author SHA1 Message Date
Steve Murphy
35499c7f40 thanks to Russel, for pointing out that the dialoglist_lock/unlock routines also need to be macros if DETECT_DEADLOCKS is set
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 15:59:01 +00:00
Mark Michelson
768724f5e6 Merged revisions 77824 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77824 | mmichelson | 2007-07-31 10:21:22 -0500 (Tue, 31 Jul 2007) | 6 lines

This patch makes Asterisk send 100 Trying provisional responses upon receipt of re-invites. This makes it so that if there are two or more Asterisk
servers between endpoints, the Asterisk servers will not keep retransmitting the re-invites.

(closes issue #10274, reported by cstadlmann, patched by me with approval from file)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 15:22:32 +00:00
Kevin P. Fleming
f35541734a there is no use in having functions that have no code in them, and hide the locking info when DEBUG_THREADS is enabled... i could have fixed this to be dependent on DEBUG_THREADS, but it would be just as easy for someone to add their test/debugging code to the macros as it would have been to the functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 15:01:27 +00:00
Kevin P. Fleming
b2eb99bb47 use a different method for overriding the send_digit_begin pointer, as the old one fails to compile on my 64-bit system with gcc-4.1 and --enable-dev-mode turned on
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 14:55:37 +00:00
Steve Murphy
2cad4fea1a Discovered in experiments on core files: if you wrap the lock and unlock calls with sip_pvt_lock and sip_pvt_unlock, you lose the tracing info you would normally get via DETECT_DEADLOCKS; so I turn these two functions into macros when DETECT_DEADLOCKS is called. This way, you get meaningful stuff in the file and func slots in the lock_info struct.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 03:32:04 +00:00
Russell Bryant
3ca4126887 Change another unnecessary use of the increment operator to explicitly set the var to 1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 20:36:18 +00:00
Russell Bryant
3b49339387 Explicitly set a variable to 1 instead of using the increment operator.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 20:33:44 +00:00
Russell Bryant
a27203a5bc Merged revisions 77794 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77794 | russell | 2007-07-30 15:16:43 -0500 (Mon, 30 Jul 2007) | 8 lines

Fix an issue that could potentially cause corruption of the global iax frame
queue.  In the network_thread() loop, it traverses the list using the
AST_LIST_TRAVERSE_SAFE macro.  However, to remove an element of the list within
this loop, it used AST_LIST_REMOVE, instead of AST_LIST_REMOVE_CURRENT, which I
believe could leave some of the internal variables of the SAFE macro invalid.
Mihai says that he already made this change in his local copy and it didn't help
his VNAK storm issues, but I still think it's wrong.  :)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 20:21:05 +00:00
Luigi Rizzo
b20ab775d5 minor code rearrangements:
+ place the link field at the beginning of struct sip_pvt, 
  and not somewhere in the middle;
 
+ in __sip_reliable_xmit, remove a duplicate assignment, and
  put the statements in a more logical order (i.e. first copy
  the payload and associated info, then copy arguments from the
  caller, then finish initializing the headers...)
 
nothing to backport.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 10:55:37 +00:00
Luigi Rizzo
adc28d1e1c rename handle_request() to handle_incoming(), as the former
was misleading - the function deals with all incoming packets, be
them requests or responses.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 08:07:00 +00:00
Luigi Rizzo
6fe18e2403 move some dialog-only flags to proper variables, namely
SIP_NOVIDEO, SIP_DIALOG_ANSWEREDELSEWHERE, SIP_PAGE2_NOTEXT,
SIP_PAGE2_OUTGOING_CALL
These are seldom used so the diff is relatively small.

Note that 'OUTGOING_CALL' is dangerously similar to another
dialog flag, 'SIP_OUTGOING', so the description will need to
clarify the different meaning of the two.

Also note that the description of NOTEXT is a bit unclear - does
it mean we don't support it, or 'not requested or not supported' ?


On passing fix a comment referring to video instead of text.

Finally, mark with XXX a possibly misleading debugging message.
(maybe the latter is worth backporting).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 21:24:56 +00:00
Luigi Rizzo
597421be86 use a function, cli_yesno(), to produce the output Yes or No for
CLI lines. This helps maintaining consistency on output, slightly
improves readability, and maybe one day will make it easier to
translate the output in other languages (though i have a hard time
believing that a CLI user who needs 'yes' and 'no' to be translated
can actually figure out what he/she is doing!)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 20:55:20 +00:00
Luigi Rizzo
89f44c573e move the two remaining peer flags to proper variables.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 20:28:02 +00:00
Luigi Rizzo
db10bcc41a move RT_FROMCONTACT to a proper sip_peer field.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 20:13:32 +00:00
Luigi Rizzo
fd2f3a20bc Move some global 'flags' to individual variables.
Start putting these variables in a single struct (called 'sip_cfg' for the time
being, but it could as well be 'global' or some other name) so it
is easy, when reading the code, to figure out what they are for.

The downside of using struct fields instead of individual global
variables is that the compiler cannot tell if there are unused fields.
But the advantage of not cluttering the namespace and manilpulating
all these variables at once certainly overcome the disadvantagess.

Nothing to backport, again.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 20:01:36 +00:00
Luigi Rizzo
5e35eab5a2 minor simplification of a conditional statement
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 10:49:32 +00:00
Luigi Rizzo
c19549820e build the version of sip_tech with no send_digit_begin
at load time instead of duplicating the initializer.
This should remove the risk of forgetting fields in the
initializer.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 10:13:14 +00:00
Luigi Rizzo
e5f3a6ccdb remove bit position from description of SIP_* flags.
use AST_FORMAT_AUDIO_MASK instead of playing with AST_FORMAT_MAX_AUDIO
to determine audio formats.
There is a dubious use of AST_FORMAT_MAX_AUDIO in sip_request_call()
which surely needs fixing, namely: 
 
        /* mask request with some set of allowed formats.
         * XXX this needs to be fixed.
         * The original code uses AST_FORMAT_AUDIO_MASK, but it is
         * unclear what to use here. We have global_capabilities, which is
         * configured from sip.conf, and sip_tech.capabilities, which is
         * hardwired to all audio formats.
         */
 
The latter is possibly something to backport when fixed.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 09:27:30 +00:00
Luigi Rizzo
692e1fe0c4 back on cleaning up the usage of flags.
Move together flags used in the same way (e.g. dialog only,
dialog-peer, ...) so it will become easier to deal with them
in a more systematic way.
This is being done in stages so it will be easier to detect
breakage, if any should occur.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 08:58:10 +00:00
Luigi Rizzo
b5c5227804 more documentation on internal representation of incoming SIP messages.
Remove definitions for now-unused flags, and add references to print
routines for other flags.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 08:19:19 +00:00
Luigi Rizzo
5ca87effb7 make register_unref() return NULL so it is easy to cleanup
the original pointer while calling the function.

on passing add some comments on one of the places where it
is used, and explain why it is safe there.

again, a no-op for practical purposes.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-29 00:06:35 +00:00
Luigi Rizzo
9f165b444a add some documentation to auto_congest(), and some
dialog_ref/unref (they are a no-op at the moment).
Also clean a pointer after freeing memory to avoid
dangling references, and write a for() loop in canonical form.

In practice, everything in this commit is a no-op.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-28 23:43:35 +00:00
Luigi Rizzo
a6e169c09a more dialog_ref()/dialog_unref() calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-28 17:16:24 +00:00
Luigi Rizzo
5dcfd811d7 more dialog_ref()/dialog_unref() calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-28 16:38:07 +00:00
Luigi Rizzo
d480266797 start introducing hooks for reference counts on dialog descriptors.
This commit is, for all practical purposes, a no-op, as it only
introduces the dialog_ref() and dialog_unref() methods, and uses them
in a few places (not all the places where they would be needed).

The goal is to start annotating the code with these calls, so the transition
to a proper container will be easier.

Nothing to backport.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-28 16:25:25 +00:00
Luigi Rizzo
df75ae2285 remove an unused string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-28 09:32:10 +00:00
Luigi Rizzo
800e1a6a03 simplify a conditional expression using S_OR
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-28 09:29:22 +00:00
Luigi Rizzo
6d8c6a9961 make use of received= and rport= fields in sip replies.
In a nutshell, these fields are used to tell a sip entity
the address and port its request came from, and are extremely
useful in the presence of NATs, especially with symmetric NATs
where STUN is totally ineffective.

This patch stores the address and port in the 'ourip' field of
the dialog descriptor, so they can be reused in subsequent transactions.
As it is, it works well for things like REGISTER requiring authentication,
because the second REGISTER request (with auth credentials) will carry
the correct address. Maybe it can also be useful, in case of an address
change, to do one or both of the following:

+ propagate the new address to the parent user/peer descriptor so that new
  dialogs will use the correct address from the beginning.
  This is trivial to implement, I am just waiting for feedback on this.

+ re-issue a request in case of an address change. This a lot less trivial,
  maybe unnecessary, and probably covered by the previous item.

I would seriously consider this patch for addition to 1.4 and 1.2.
The code is very little intrusive, and it would solve in a correct
way the nat traversal problems for which externip/externaddr/stunaddr
are only a partial and expensive workaround.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-28 07:44:16 +00:00
Joshua Colp
111250f2ae Turn 4 lines of code into 1 line that does the same thing.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-27 16:31:55 +00:00
Joshua Colp
f6498f16bb Merged revisions 77536 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77536 | file | 2007-07-27 13:27:16 -0300 (Fri, 27 Jul 2007) | 6 lines

(closes issue #10323)
Reported by: julianjm
Patches:
      chan_sip_device_state_hold_fix.v1.diff.txt uploaded by julianjm (license 99)
Clear ONHOLD flag when decrementing the onHold peer count. If we did not do this the count may keep decreasing.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-27 16:29:40 +00:00
Mark Michelson
d17d9c542b Merged revisions 77490 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77490 | mmichelson | 2007-07-27 09:30:43 -0500 (Fri, 27 Jul 2007) | 3 lines

"re-invite" was misspelled


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-27 14:31:35 +00:00
Russell Bryant
f8483a0d04 Do a massive conversion for using the ast_verb() macro
(closes issue #10277, patches by mvanbaak)

Basically, this changes ...

if (option_verbose > 2)
   ast_verbose(VERBOSE_PREFIX_3, "Something\n");

to ...

ast_verb(3, "Something\n");


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 15:49:18 +00:00
Russell Bryant
70f140c1d2 Revert some changes to call abs() on the result of ast_random().
* random() is defined to return a positive result, and now ast_random()
   will always do so as well


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 13:26:44 +00:00
Tilghman Lesher
7a97d49914 Things expecting a positive result from ast_random() should not be surprised (closes #10308)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 13:19:07 +00:00
Luigi Rizzo
546c742106 silence a warning in ast-devmode on a potentially uninitialized var.
At first sight (but the function is very large so i am not 100% sure)
the code seems correct, so maybe my compiler is just not smart
enough to figure that out at the optimization level it has.

Not worthwhile merging to 1.4 i believe.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-25 21:58:13 +00:00
Steve Murphy
30c771a9d7 Merged revisions 76983 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r76983 | murf | 2007-07-24 18:18:32 -0600 (Tue, 24 Jul 2007) | 9 lines

Merged revisions 76978 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r76978 | murf | 2007-07-24 18:07:24 -0600 (Tue, 24 Jul 2007) | 1 line

this fixes bug 10293, where the error message because defaultzone or loadzone was not defined was confusing
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-25 00:34:42 +00:00
Jason Parker
cf551decc5 Revert trivial whitespace change (for testing)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 17:43:36 +00:00
Jason Parker
307d1fcb77 Trivial whitespace change to test comitting...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 17:23:16 +00:00
Tilghman Lesher
1c17bc177d Merged revisions 76803 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r76803 | qwell | 2007-07-24 11:32:20 -0500 (Tue, 24 Jul 2007) | 3 lines

Don't create the Asterisk channel until we are starting the PBX on it.
(ASA-2007-018)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 17:05:10 +00:00
Jason Parker
3562d4eea2 The chan_skinny Dial() syntax was funky. You had to do Dial(Skinny/line@device)
This allows you to just Dial(Skinny/line), as long as line isn't ambiguous.

Note that this does not remove or deprecate the "old" syntax, as it's still
 quite useful - even moreso if shared lines get implemented.


Initial patch by me, with some changes and suggestions from wedhorn.
(closes issue #10263)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 15:35:58 +00:00
Luigi Rizzo
961165519e two small fixes when using stun (reported by Marta Carbone):
+ externexpire was not initialized properly;
+ stunaddr was not handled properly on a sip reload



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 14:49:49 +00:00
Tilghman Lesher
55b1ee298e Merge the dialplan_aesthetics branch. Most of this patch simply converts applications
using old methods of parsing arguments to using the standard macros.  However, the big
change is that the really old way of specifying application and arguments separated by
a comma will no longer work (e.g. NoOp,foo|bar).  Instead, the way that has been
recommended since long before 1.0 will become the only method available (e.g. NoOp(foo,bar).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 19:51:41 +00:00
Jason Parker
d8d1b6c8f2 Merged revisions 76656 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r76656 | qwell | 2007-07-23 13:59:28 -0500 (Mon, 23 Jul 2007) | 3 lines

Fix some incorrect softkey labels in messages.
Don't try to play dialtone in some unimplemented features.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 19:00:19 +00:00
Joshua Colp
34e92f29f6 Merged revisions 76654 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r76654 | file | 2007-07-23 15:29:48 -0300 (Mon, 23 Jul 2007) | 12 lines

Merged revisions 76653 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r76653 | file | 2007-07-23 15:28:13 -0300 (Mon, 23 Jul 2007) | 4 lines

(closes issue #5866)
Reported by: tyler
Do not force channel format changes when a generator is present. The generator may have changed the formats itself and changing them back would cause issues.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 18:31:06 +00:00
Jason Parker
6f81f60696 Merged revisions 76620 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #10276)
........
r76620 | qwell | 2007-07-23 12:57:53 -0500 (Mon, 23 Jul 2007) | 4 lines

Don't try to queue up hold/unhold frames on a non-existent channel.

Issue 10276.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 17:58:46 +00:00
Luigi Rizzo
6a9270d879 add two missing entries in the replica of the sip_tech that
does not use  DTMF BEGIN frames.

1.4 seems correct (it does not have the two fields).

However, as this bug shows, the current way of creating the sip_tech
replica is too error-prone, one can easily forget to update one of
the two entries.  Perhaps it would be better to create sip_tech_info
expliclty at module load, by doing

	sip_tech_info = sip_tech;
	sip_tech_info.send_digit_begin = NULL

(in this case, this is something applicable to 1.4 as well).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 14:45:22 +00:00
Joshua Colp
90dc0cfa85 Merged revisions 76561 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r76561 | file | 2007-07-23 11:34:21 -0300 (Mon, 23 Jul 2007) | 14 lines

Merged revisions 76560 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r76560 | file | 2007-07-23 11:32:07 -0300 (Mon, 23 Jul 2007) | 6 lines

(closes issue #10236)
Reported by: homesick
Patches:
      rpid_1.4_75840.patch uploaded by homesick (license 91)
Accept Remote Party ID on guest calls.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 14:38:35 +00:00
Russell Bryant
7a2772c151 Mark str2dtmfmode() as currently unused to resolve a compiler warning and
allow building under dev mode


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 14:37:26 +00:00
Russell Bryant
eaebbdab61 (closes issue #10271)
Reported by: snuffy
Patches:
      doxygen-updates.diff uploaded by snuffy (license 35)

Another big batch of doxygen documentation updates


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 14:32:04 +00:00
Luigi Rizzo
b1791d9349 introduce two functions, map_x_s() and map_s_x(), to map
between integers and strings using a single translation table,
and use them in a few places instead of ad-hoc routines
that duplicate the table.

On passing, note that REFER_CONFIRMED is never used, and add a
few comments.

Nothing to backport here.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 14:18:04 +00:00