[asterisk-scf-dev] Asterisk SCF features I'd like to see
Alistair Cunningham
acunningham at integrics.com
Wed Nov 10 09:55:35 CST 2010
All,
Here are some features that I'd like to see in Asterisk SCF that aren't
currently in Asterisk (or which could be improved). They'd make life
much easier for those building large systems with billing. They're
merely suggestions - feel free to tell me that I'm crazy for proposing
these! I'm also happy to add these to the Wiki if people think they're
good. Thoughts?
1. Call flow and logging should reflect billing realities. Consider a
call coming in from the PSTN to a toll free number (and so is billable
to the answering party). It's answered by a SIP handset and they talk
for one minute. The handset then transfers the call out to a cell phone
where the call continues for another two minutes. The inbound call needs
to be billed for three minutes, and the outbound call for two minutes.
The inbound call must not be considered terminated when the transfer
happens (very important). This needs to be the same for both attended
and blind transfers, and for calls which have been transferred multiple
times.
2. Busy lamps need to work differently from billing. In the above
example, the transferring SIP handset needs to be marked as idle after
the transfer is complete, even though billing still sees an outbound
call from it.
3. In larger installations, I think it will be common to have a very
lightweight SIP proxy (e.g. OpenSIPS) distribute calls, registrations,
subscribes, etc, between many Asterisk SCF machines, with RTP bypassing
the SIP proxy. Clients behind NAT need to work correctly in this scenario.
4. The ability to inject custom SIP packets to handsets would be useful.
I guess the ICE framework already makes this possible?
5. It would be useful to have a facility to have an ICE component
invoked every N seconds for each call. For example, this could be used
to update the customer's balance in an SQL database, and hang up the
call if the prepaid balance reaches zero.
6. It would be great if all calls (including 1 and 2 party calls) were
conferences, and channels could be added or removed at will. This could
of course be used to implement transfers, call spy, drag-and-drop
consoles, etc. I guess each channel connected to the call then needs to
have a "Disconnect all channels when this channel disconnects" flag. I
remember mentioning this to Kevin Fleming, and he said that it was under
consideration. I don't know if this has been decided?
7. If anyone writes a voicemail application, please please use a fixed
globally unique filename for each voicemail. Renumbering of voicemails
makes it very hard to have features such as a "Click here to delete on
server" link in notification emails.
--
Alistair Cunningham
+1 888 468 3111
+44 20 799 39 799
http://integrics.com/
More information about the asterisk-scf-dev
mailing list