Dave Platt
2015-Jun-09 18:32 UTC
[asterisk-users] Can Asterisk help me with some requeriments, of my current project?
> 1 - My SIP server (Asterisk) will have some SIP clients registered in its SIP registrar. Let's say 6 SIP clients. In my project I have to implement a way of a SIP client making a call to a number and all others 5 SIP clients ring. That is, the others 5 SIP clients must receive the SIP INVITE. Can Asterisk help me with such functionality?The Dial() application lets you specify two or more destinations, separated by "&" characters. When you execute an application call of this sort in your dialplan, Asterisk dials all of the destinations in parallel. If they're SIP clients, each will receive an INVITE at the same time. http://lists.digium.com/pipermail/asterisk-users/2005-April/094621.html> 2 - When several SIP client ring, if one answer the call first, the others will have to stop ringing immediately. Can Asterisk help me with this requirement?If you use the "dial in parallel" technique I just described, when one client answers the call, Asterisk sends out a "cancel invite" to each of the other clients it had dialed. This *should* result in each of those other clients stopping their ring promptly... but that's up to the client.> 3 - How to avoid one of the SIP clients receiving SIP INVITES? That is, one of the SIP clients is forbidden to receive calls. Is there a way to program it in Asterisk, maybe via dial plan?The question of which clients are called in response to a Dial() in your dial-plan, depends entirely on which clients are named in that Dial(). If you have five clients, and only include three of them in a particular Dial(), only those three will ring. If you have a client which is never named in a Dial() anywhere in your dialplan, Asterisk will never call it. It will be an "outbound calls only" client.> 4- Let's suppose that I have a data base (let's say SQLite) in my SIP server (Asterisk) and I need implement a way of SIP Clients executing queries in such database. Could such queries be done/sent via SIP messages to Asterisk? Is there a way of accessing a database by meas of Asterisk, during a call, for example to collect information about others SIP Clients? Here I'm intending to create a software to be a kind of interface between Asterisk and the database, if necessary.In principle, a client could "dial" a URI which includes parameters for a SIP query. Asterisk's dialplan would recognize this URI (for example, it might start with *888* or some other such string), parse it, and feed the bits to an SQL query. With this approach (or any approach which accepts an SQL query or parameters from a client) you must be *EXTREMELY* careful to avoid "SQL injection" attacks. The story of little Bobby Tables is what I'm talking about here: https://xkcd.com/327/> 5 - If I need to send SIP messages all encrypted, using SSL or TLS , to the Asterisk, will this SIP server be able to interpret all messages correctly? Is there a way of let Asterisk talk with SIP clients in a secure way, using SSL, for example? Can Asterisk help me with this?https://wiki.asterisk.org/wiki/display/AST/Secure+Calling+Tutorial