Escolar Documentos
Profissional Documentos
Cultura Documentos
Kevin P. Fleming
Director of Software Technologies
Framework for communications systems
Multi-protocol
Intended to be a communications network
element, not transparent
Flexible and programmable
Designed to be used by developers; not a
'packaged solution'
Neither are written in Visual Basic
enum Transport
{
UDP,
TCP,
TLS
};
class RequestInfo
{
// The display name in the From header
string fromName;
// The URI in the From header
string fromURI;
// URI parameters in the From header
ParamDict fromParams;
// The display name in the To header
string toName;
// The URI in the To header
string toURI;
…
};
enum DigestAlgorithm
{
MD5,
MD5sess,
AKAv1MD5,
AKAv1MD5sess,
AKAv2MD5,
AKAv2MD5sess
};
class DigestChallenge
{
string username;
string password;
StringSeq domain;
string realm;
StringSeq nonce;
StringSeq opaque;
DigestAlgorithm algorithm;
};
sequence<DigestChallenge> DigestChallengeSeq;
interface AuthHook
{
HookResult getAuthChallenge(
RequestInfo info,
out DigestChallengeSeq challenge);
};
enum RequestType
{
DialogEstablishing,
OutOfDialog,
InDialog
}
sequence<RequestType> RequestTypeSeq;
interface SipExtensionPoints
{
HookId addAuthHook(AuthHook *hook,
RequestTypeSeq types);
void removeAuthHook(HookId id);
void clearAuthHooks();
};
Asterisk SCF
– https://wiki.asterisk.org/
Example Code
git://git.asterisk.org/team/kpfleming/fosdem2011