Hello ppl, Are the channel names generated on 'Dial's supposed to be unique? I see the channel names repeating on my asterisk box. I just wanted to confirm this. Can anyone point me to the lines of code where the channel name is generated/calculated? I tried looking, but it looks like quite a big maze. Regards - Ben.
Benjamin Jacob wrote:> Are the channel names generated on 'Dial's supposed to be unique? > I see the channel names repeating on my asterisk box. I just wanted to confirm this. > Can anyone point me to the lines of code where the channel name is generated/calculated? I tried looking, but it looks like quite a big maze.Channel names are not guaranteed to be unique at all. However, all channels have a uniqueid associated with them. You can access it in the dialplan via ${UNIQUEID}. -- Russell Bryant Senior Software Engineer Open Source Team Lead Digium, Inc.
Benjamin Jacob schrieb:> Can anyone point me to the lines of code where the channel name is generated/calculated? I tried looking, but it looks like quite a big maze.ast_channel_alloc() in main/channel.c ---cut--- if (ast_strlen_zero(ast_config_AST_SYSTEM_NAME)) { ast_string_field_build(tmp, uniqueid, "%li.%d", (long) time(NULL), ast_atomic_fetchadd_int(&uniqueint, 1)); } else { ast_string_field_build(tmp, uniqueid, "%s-%li.%d", ast_config_AST_SYSTEM_NAME, (long) time(NULL), ast_atomic_fetchadd_int(&uniqueint, 1)); } ---cut--- Gr??e, Philipp Kempgen -- Asterisk-Tag.org 2008, 26.-27. Mai -> http://www.asterisk-tag.org amooma GmbH - Bachstr. 126 - 56566 Neuwied -> http://www.amooma.de Gesch?ftsf?hrer: Stefan Wintermeyer, Handelsregister: Neuwied B14998
Philipp Kempgen schrieb:> Benjamin Jacob schrieb: > >> Can anyone point me to the lines of code where the channel name is generated/calculated? I tried looking, but it looks like quite a big maze. > > ast_channel_alloc() in main/channel.c > > ---cut--- > if (ast_strlen_zero(ast_config_AST_SYSTEM_NAME)) { > ast_string_field_build(tmp, uniqueid, "%li.%d", (long) time(NULL), > ast_atomic_fetchadd_int(&uniqueint, 1)); > } else { > ast_string_field_build(tmp, uniqueid, "%s-%li.%d", ast_config_AST_SYSTEM_NAME, > (long) time(NULL), ast_atomic_fetchadd_int(&uniqueint, 1)); > } > ---cut---Er, sorry, I thought a bit too far. That is for the UNIQUEID. Gr??e, Philipp Kempgen -- Asterisk-Tag.org 2008, 26.-27. Mai -> http://www.asterisk-tag.org amooma GmbH - Bachstr. 126 - 56566 Neuwied -> http://www.amooma.de Gesch?ftsf?hrer: Stefan Wintermeyer, Handelsregister: Neuwied B14998
Benjamin Jacob wrote:> So I thought!! Thanks guys. > But a query with regards to this : > I need to send hangup commands based on these channel names only. So at any given point of time, for 'n' ongoing calls, will these 'n' channel names be different/ unique? > If not, using AMI, how do we hangup a given channel?While channel names are not unique over time, at any given point in time, there should not be more than 1 channel with the same name. -- Russell Bryant Senior Software Engineer Open Source Team Lead Digium, Inc.