<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/en/2171/18/9/_/styles/combined.css?spaceKey=TOP&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://wiki.asterisk.org/wiki/display/TOP/Generic+Session+Gateway+Design">Generic Session Gateway Design</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://wiki.asterisk.org/wiki/display/~khunt">Ken Hunt</a>
    </h4>
        <br/>
                         <h4>Changes (0)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="GenericSessionGatewayDesign-BasicStructure"></a>Basic Structure</h1>

<p>A Session Manager component provides a gateway between Asterisk SCF and some particular session-oriented protocol (such as SIP). How the component communicates with this other protocol is implementation specific. However, all Session Managers will implement the Asterisk SCF interfaces show in the diagram below. Some of these interfaces are common to all Asterisk SCF components (Replica, ComponentService, State Replicator Listener). Of particular interest for Session Managers is the Endpoint Locator interface. This interface allows a Routing Service to locate endpoints managed by the Session Manager. The Routing Service will use the Endpoint Sequence returned from a lookup() operation to create Sessions for a given endpoint. </p>

<p><span class="image-wrap" style=""><img src="/wiki/download/attachments/3702890/Generic+SessionManager+Model.png?version=3&amp;modificationDate=1337012825247" style="border: 1px solid black" /></span></p>


<p>As shown in the simplified start up sequence below, a Session Manager is responsible for locating the Routing Service and registering it's Endpoint Locator with the Routing Service that has been assigned to it. </p>

<p><span class="image-wrap" style=""><img src="/wiki/download/attachments/3702890/Generic+SessionManager+Startup.png?version=2&amp;modificationDate=1337012811375" style="border: 1px solid black" /></span></p>

    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;" class="grey">
                        <a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=TOP">Stop watching space</a>
            <span style="padding: 0px 5px;">|</span>
                <a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action">Change email notification preferences</a>
</div>
        <a href="https://wiki.asterisk.org/wiki/display/TOP/Generic+Session+Gateway+Design">View Online</a>
        |
        <a href="https://wiki.asterisk.org/wiki/pages/diffpagesbyversion.action?pageId=3702890&revisedVersion=12&originalVersion=11">View Changes</a>
                |
        <a href="https://wiki.asterisk.org/wiki/display/TOP/Generic+Session+Gateway+Design?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>