<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 (4)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-unchanged" >h1. Basic Structure <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >A Session <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Manager</span> <span class="diff-added-words"style="background-color: #dfd;">Gateway</span> 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 <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Managers</span> <span class="diff-added-words"style="background-color: #dfd;">Gateways</span> will implement the Asterisk SCF interfaces <span class="diff-changed-words">show<span class="diff-added-chars"style="background-color: #dfd;">n</span></span> 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 <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Managers</span> <span class="diff-added-words"style="background-color: #dfd;">Gateways</span> is the Endpoint Locator interface. This interface allows a Routing Service to locate endpoints managed by the Session <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Manager.</span> <span class="diff-added-words"style="background-color: #dfd;">Gateway.</span> The Routing Service will use the Endpoint Sequence returned from a lookup() operation to create Sessions for a given endpoint. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-changed-lines" >!Generic <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">SessionManager</span> <span class="diff-added-words"style="background-color: #dfd;">SessionGateway</span> Model.png|border=1! <br></td></tr>
            <tr><td class="diff-unchanged" > <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >As shown in the simplified start up sequence below, a Session <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">Manager</span> <span class="diff-added-words"style="background-color: #dfd;">Gateway</span> is responsible for locating the Routing Service and registering it&#39;s Endpoint Locator with the Routing Service that has been assigned to it. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-changed-lines" >!Generic <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">SessionManager</span> <span class="diff-added-words"style="background-color: #dfd;">SessionGateway</span> Startup.png|border=1! <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="GenericSessionGatewayDesign-BasicStructure"></a>Basic Structure</h1>

<p>A Session Gateway 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 Gateways will implement the Asterisk SCF interfaces shown 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 Gateways is the Endpoint Locator interface. This interface allows a Routing Service to locate endpoints managed by the Session Gateway. The Routing Service will use the Endpoint Sequence returned from a lookup() operation to create Sessions for a given endpoint. </p>

<p><span class="error">Unable to render embedded object: File (Generic SessionGateway Model.png) not found.</span></p>


<p>As shown in the simplified start up sequence below, a Session Gateway 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="error">Unable to render embedded object: File (Generic SessionGateway Startup.png) not found.</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=13&originalVersion=12">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>