{"id":1003,"date":"2026-09-22T09:35:31","date_gmt":"2026-09-22T09:35:31","guid":{"rendered":"https:\/\/smppcenter.com\/kb\/?p=1003"},"modified":"2026-09-22T09:35:33","modified_gmt":"2026-09-22T09:35:33","slug":"add-new-smpp-connect-operator-vendor","status":"publish","type":"post","link":"https:\/\/smppcenter.com\/kb\/add-new-smpp-connect-operator-vendor\/","title":{"rendered":"How to Add a New SMPP Connect (Operator\/Vendor Bind) Step by Step"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">An <strong>SMPP Connect<\/strong> is your platform&#8217;s bind to an upstream operator or vendor. Every route you build sends traffic through one or more connects, so the settings on a connect affect cost, throughput, sender ID handling and DLR accuracy for every client on those routes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Before you start<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Collect these from your vendor in writing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SMSC IP, TX\/TRX port and RX port (if separate)<\/li>\n\n\n\n<li>System ID, password and system type<\/li>\n\n\n\n<li>Allotted <strong>TPS<\/strong> and <strong>number of sessions<\/strong> (TRX\/TX and RX)<\/li>\n\n\n\n<li>Billing basis: on <strong>submit<\/strong> or on <strong>delivery<\/strong><\/li>\n\n\n\n<li>Required TON\/NPI values, sender ID rules and (for India) DLT tag requirements<\/li>\n\n\n\n<li>Their error code list (for mapping; see <em>How to Map Vendor Error Codes to Global Error Codes<\/em>)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Also create the vendor under <strong>Vendors<\/strong> (Name + HTTP API URL) first, so you can pick it in the connect&#8217;s <strong>Error Code Map (Vendor)<\/strong> field.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Where to find it<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sidebar \u2192 SMPP Client \u2192 Connects<\/strong> \u2192 click <strong>Add<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basic tab<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>What to enter<\/th><\/tr><\/thead><tbody><tr><td><strong>Connect Name<\/strong><\/td><td>Unique, alphanumeric, underscores allowed, no spaces, e.g. <code>VendorA_TRANS_01<\/code><\/td><\/tr><tr><td><strong>Description<\/strong><\/td><td>Route purpose, e.g. &#8220;Vendor A \u2013 transactional India&#8221;<\/td><\/tr><tr><td><strong>Billing Method<\/strong><\/td><td><code>SUBMIT<\/code> or <code>DELIVERED<\/code>, <strong>matching how the vendor bills you<\/strong><\/td><\/tr><tr><td><strong>Account Type<\/strong><\/td><td><code>TRANSACTIONAL<\/code> (24\u00d77) or <code>PROMOTIONAL<\/code> (restricted sending window)<\/td><\/tr><tr><td><strong>Error Code Map (Vendor)<\/strong><\/td><td>The vendor whose error mapping applies to this connect<\/td><\/tr><tr><td><strong>Price Map<\/strong><\/td><td>The vendor pricing plan used for cost tracking<\/td><\/tr><tr><td><strong>Cost\/Rate<\/strong><\/td><td>Your per-message cost on this connect<\/td><\/tr><tr><td><strong>Status<\/strong><\/td><td><code>ENABLED<\/code>, <code>DISABLED<\/code> or <code>DELETED<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Connection tab<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td><strong>SMSC\/Vendor IP<\/strong><\/td><td>The vendor&#8217;s SMPP server address<\/td><\/tr><tr><td><strong>System Id\/Username<\/strong>, <strong>Password<\/strong>, <strong>System Type<\/strong><\/td><td>Exactly as issued by the vendor<\/td><\/tr><tr><td><strong>Outgoing Setup<\/strong><\/td><td>Which of your servers opens the bind (Localhost or a remote server). Use the one whose IP the vendor has whitelisted<\/td><\/tr><tr><td><strong>TPS<\/strong><\/td><td>The vendor&#8217;s allotted throughput. Never set this higher than agreed; vendors throttle or disconnect<\/td><\/tr><tr><td><strong>Bind\/Connect Mode<\/strong><\/td><td><code>TRX<\/code> (one transceiver bind) or <code>TX and RX<\/code> (separate transmitter\/receiver)<\/td><\/tr><tr><td><strong>TR\/TRX Port<\/strong>, <strong>TR\/TRX Sessions<\/strong><\/td><td>Port and session count for TX\/TRX<\/td><\/tr><tr><td><strong>RX Port<\/strong>, <strong>RX Sessions<\/strong><\/td><td>Only for TX + RX mode<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">TON\/NPI tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Set <code>dest_addr_ton\/npi<\/code>, <code>alpha_source_addr_ton\/npi<\/code> and <code>numeric_source_addr_ton\/npi<\/code> as the vendor specifies. <code>-1<\/code> leaves the value unset. Wrong TON\/NPI is a common cause of alphanumeric sender IDs being replaced or messages being rejected. See <em>What is TON and NPI in SMPP?<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sender ID tab<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Operator Prefix:<\/strong> a prefix added to sender IDs, e.g. <code>BH-<\/code>.<\/li>\n\n\n\n<li><strong>SenderId Type:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>DYNAMIC<\/code>: pass through the client&#8217;s sender ID<\/li>\n\n\n\n<li><code>FIXED<\/code>: always use the fixed list<\/li>\n\n\n\n<li><code>ONLY_APPROVED<\/code>: only approved sender IDs are allowed<\/li>\n\n\n\n<li><code>APPROVED_FAILOVER_FIXED<\/code>: use the approved sender ID, and fall back to the fixed list if it isn&#8217;t approved<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Fixed Sender Id List:<\/strong> one per line; used when no sender ID is passed.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Delivery Report tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Set the vendor&#8217;s <strong>DLR time zone<\/strong>, whether to <strong>modify the time zone<\/strong> or <strong>override delivery time<\/strong>, <strong>message validity<\/strong> support, and the <strong>date format<\/strong> (<code>yyMMddHHmmss<\/code> or <code>yyMMddHHmm<\/code>). Getting these right makes delivery timestamps in your clients&#8217; reports accurate.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DLT tab (India)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DLT Enable<\/strong>, <strong>DLT Telemarketer ID<\/strong><\/li>\n\n\n\n<li><strong>Send DLT Template ID:<\/strong> Yes, if the vendor expects the template ID on submit<\/li>\n\n\n\n<li><strong>Reject Non DLT Template Message:<\/strong> Yes rejects messages where no DLT template ID is found<\/li>\n\n\n\n<li>The Entity ID, Template ID and Telemarketer ID <strong>tags<\/strong> are read-only; they show which TLVs carry these values<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Click <strong>Submit<\/strong> to create the connect.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bringing the connect online<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Edit<\/strong> the new connect and set it to <strong>Enabled<\/strong>.<\/li>\n\n\n\n<li>In the <strong>Connection<\/strong> manager for that connect, run <strong>reload\/reconfigure<\/strong>.<\/li>\n\n\n\n<li>Confirm the <strong>Sessions<\/strong> column shows the expected number of connected sessions.<\/li>\n\n\n\n<li>Go to <strong>System \u2192 Controls \u2192 SMPP Client<\/strong> and <strong>Stop<\/strong>, then <strong>Start<\/strong>, the <strong>Connect Manager<\/strong> so a queue is created for the new connect.<\/li>\n\n\n\n<li>Send test messages through a test route before adding the connect to any client route.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Common mistakes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Billing Method doesn&#8217;t match the vendor contract:<\/strong> your margin reports will be wrong from day one.<\/li>\n\n\n\n<li><strong>TPS set above allocation:<\/strong> causes throttling errors and queue build-up on your side.<\/li>\n\n\n\n<li><strong>Outgoing Setup on a server the vendor hasn&#8217;t whitelisted:<\/strong> the bind never comes up.<\/li>\n\n\n\n<li><strong>No error mapping for the vendor:<\/strong> clients receive <code>UNDEFINED<\/code> statuses.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Related articles<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/smppcenter.com\/kb\/faq\/what-should-i-do-after-adding-new-connect-operator\/\">What should I do after adding a new connect\/operator?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/smppcenter.com\/kb\/what-steps-to-follow-after-changing-tps\/\">What steps to follow after changing TPS<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/smppcenter.com\/kb\/create-sms-route-distribution-strategy\/\">How to Create a Route and Choose a Distribution Strategy<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/smppcenter.com\/kb\/smpp-connect-extra-attributes\/\">SMPP Connect Extra Attributes: Advanced Bind Tuning<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/smppcenter.com\/kb\/ton-npi-smpp\/\">TON and NPI in SMPP<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Add an upstream SMPP connect tab by tab (billing, bind, TON\/NPI, sender ID, DLR and DLT settings) and bring it online without disturbing live traffic.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[332],"tags":[335,333,334,76,337,163,336],"class_list":["post-1003","post","type-post","status-publish","format-standard","hentry","category-connects-vendors","tag-bind-mode","tag-dlt","tag-operator-connection","tag-smpp-connect","tag-ton-npi","tag-tps","tag-vendor-bind"],"_links":{"self":[{"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/posts\/1003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/comments?post=1003"}],"version-history":[{"count":0,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/posts\/1003\/revisions"}],"wp:attachment":[{"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/media?parent=1003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/categories?post=1003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smppcenter.com\/kb\/wp-json\/wp\/v2\/tags?post=1003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}