By reading the Wiki's I found out that an Asterisk server with many (>10000) extensions and/or SIP users can become slow when reloading. But what happens when you also have many contexts in extensions.conf? More precisely, one context for each SIP user? I need this because I will have users with random usernames that they can choose, but I obviously cannot set that username as the outgoing caller ID when passing the call to our PSTN gateway. I need to change the CLI before dialling out. Now, every SIP user has his CLI, so I thought of creating a context for every user, where I would SetCallerID() before issuing the Dial() command. Obviously I would use some sort of script reading from a database to re-create the extensions.conf and sip.conf after making changes. Do you see any issues which could arise? Is Asterisk going to crash, or is it just going to be slow when reloading? Thank you for your help -Manuel ___________________________________________________ Ticinocom SA - Via Stazione 5 - 6600 Muralto Tel 0844 007070 - Fax 0844 007071 http://www.ticinocom.com
Why not use mysql as it should be faster I'd suspect -----Original Message----- From: Manuel Wenger [mailto:manuel.wenger@ticinocom.com] Sent: 18 June 2004 5:43 PM To: asterisk-users@lists.digium.com Subject: [Asterisk-Users] Thousands of contexts? By reading the Wiki's I found out that an Asterisk server with many (>10000) extensions and/or SIP users can become slow when reloading. But what happens when you also have many contexts in extensions.conf? More precisely, one context for each SIP user? I need this because I will have users with random usernames that they can choose, but I obviously cannot set that username as the outgoing caller ID when passing the call to our PSTN gateway. I need to change the CLI before dialling out. Now, every SIP user has his CLI, so I thought of creating a context for every user, where I would SetCallerID() before issuing the Dial() command. Obviously I would use some sort of script reading from a database to re-create the extensions.conf and sip.conf after making changes. Do you see any issues which could arise? Is Asterisk going to crash, or is it just going to be slow when reloading? Thank you for your help -Manuel ___________________________________________________ Ticinocom SA - Via Stazione 5 - 6600 Muralto Tel 0844 007070 - Fax 0844 007071 http://www.ticinocom.com _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Manuel Wenger wrote:> By reading the Wiki's I found out that an Asterisk server with many (>10000) extensions and/or SIP users can become slow when reloading. But what happens when you also have many contexts in extensions.conf? More precisely, one context for each SIP user? > > I need this because I will have users with random usernames that they can choose, but I obviously cannot set that username as the outgoing caller ID when passing the call to our PSTN gateway. I need to change the CLI before dialling out. Now, every SIP user has his CLI, so I thought of creating a context for every user, where I would SetCallerID() before issuing the Dial() command. Obviously I would use some sort of script reading from a database to re-create the extensions.conf and sip.conf after making changes. > > Do you see any issues which could arise? Is Asterisk going to crash, or is it just going to be slow when reloading? >You need to learn more about Asterisk, especially power of Asterisk's dial plan. There is absolutely no need for thousands of contexts on one box. We have a tremendous amount of endpoints on our various systems, yet we only have 4 or 5 contexts. If you cannot use the callerid directive in the sip.conf (or equivalent) to set the callerid once and forget it, you can always use astdb to store and have the ability to update callerid in real-time. Then again, you could do what we do and let the customer specify their own callerid, until we receive any complaints then we would simply override it with a callerid directive in the appropriate config file on our system. Jeremy McNamara
Manuel Wenger [manuel.wenger@ticinocom.com] wrote:> By reading the Wiki's I found out that an Asterisk server with many > (>10000) extensions and/or SIP users can become slow when reloading. But > what happens when you also have many contexts in extensions.conf? More > precisely, one context for each SIP user? > > I need this because I will have users with random usernames that they can > choose, but I obviously cannot set that username as the outgoing caller > ID when passing the call to our PSTN gateway. I need to change the CLI > before dialling out. Now, every SIP user has his CLI, so I thought of > creating a context for every user, where I would SetCallerID() before > issuing the Dial() command. Obviously I would use some sort of script > reading from a database to re-create the extensions.conf and sip.conf > after making changes. > > Do you see any issues which could arise? Is Asterisk going to crash, or > is it just going to be slow when reloading? >I don't quite understand your Caller*ID dilemma. In your sip.conf, you'd have a block for each user, say [abc123]. That's your random username, yes? The same block would also define the password and other directives. Why can't you simply include the "callerid" directive to set the Caller*ID name and number? The following should do the trick: callerid = "Kevin Walsh" <1234567890> I don't know whether Asterisk would slow down when reloading thousands of contexts, but it sounds reasonable to me - I wouldn't expect it to get any quicker. :-) -- _/ _/ _/_/_/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ _/_/ _/ _/ _/ _/_/ _/ K e v i n W a l s h _/ _/ _/ _/ _/ _/ _/ _/_/ kevin@cursor.biz _/ _/ _/_/_/_/ _/ _/_/_/ _/ _/