{"id":162,"date":"2025-10-01T11:57:11","date_gmt":"2025-10-01T11:57:11","guid":{"rendered":"https:\/\/www.nme.mobi\/blog\/?p=162"},"modified":"2025-10-01T12:01:26","modified_gmt":"2025-10-01T12:01:26","slug":"summoning-the-dialer-nativephp-and-pstn-numbers","status":"publish","type":"post","link":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/","title":{"rendered":"Summoning the Dialer: NativePHP and PSTN Numbers"},"content":{"rendered":"<p>Sometimes your app needs to do more than just show a number\u2014it needs to breathe life into it and send it straight into your device\u2019s native dialer. In the world of the browser, the magic incantation is simple:<\/p>\n<pre>tel:+123456<\/pre>\n<p>But inside a NativePHP app, this spell goes unheard\u2014NativePHP doesn\u2019t yet recognize the tel: scheme by itself.<br \/>\nSo how do we coax the dialer to open?<\/p>\n<p>We build a small ritual of our own: a button that travels through Laravel, whispers the number to a controller, and calls on the device\u2019s dialer with the proper command.<\/p>\n<p>Here\u2019s how you can make your app\u2019s phone numbers come alive.<\/p>\n<p><strong>\ud83c\udf3a Step 1: The Glyph (the View)<\/strong><\/p>\n<pre>&lt;x-link class=\"btn top-bg w-100 border-1 text-decoration-none\" href=\"\/trigger-pstn-dialer?number=123456\"&gt;&lt;span class=\"text-white small fw-bold\"&gt;123456&lt;\/span&gt;&lt;\/x-link&gt;<\/pre>\n<p><strong>\ud83c\udf0a Step 2: The Vessel (the Blade Component)<\/strong><\/p>\n<pre>&lt;a {{ $attributes-&gt;merge(['class' =&gt; 'btn top-bg fw-bold']) }}&gt;&lt;span class=\"text-white small\"&gt;{{ $slot }}&lt;\/span&gt;&lt;\/a&gt;<\/pre>\n<p><strong>\ud83d\udd2e Step 3: The Gateway (the Route)<\/strong><\/p>\n<pre>Route::get('\/trigger-pstn-dialer', [NativeElementController::class, 'TriggerPstnDialer']);<\/pre>\n<p><strong>\ud83d\udc09 Step 4: The Summoner (the Controller)<\/strong><\/p>\n<pre>&lt;?php\r\n\r\nnamespace App\\Http\\Controllers;\r\n\r\nuse Illuminate\\Http\\Request;\r\nuse Native\\Mobile\\Facades\\Browser;\r\n\r\n\/**\r\n * Class NativeElementController\r\n * @package App\\Http\\Controllers\r\n *\/\r\nclass NativeElementController extends Controller\r\n{\r\n    \/**\r\n     * @param Request $request\r\n     * @return RedirectResponse\r\n     *\/\r\n    public function TriggerPstnDialer(Request $request): RedirectResponse\r\n    {\r\n        $number = $request-&gt;input('number') ?? '';\r\n        Browser::open('tel:+' . $number);\r\n        return redirect('\/');\r\n    }\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sometimes your app needs to do more than just show a number\u2014it needs to breathe life into it and send it straight into your device\u2019s native dialer. In the world of the browser, the magic incantation is simple: tel:+123456 But inside a NativePHP app, this spell goes unheard\u2014NativePHP doesn\u2019t yet recognize the tel: scheme by [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":166,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nativephp"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Summoning the Dialer: NativePHP and PSTN Numbers - New Media Entertainment<\/title>\n<meta name=\"description\" content=\"Learn how to dial PSTN numbers in a NativePHP app by opening the device\u2019s native dialer. Since NativePHP doesn\u2019t support tel: links directly, this guide shows you how to trigger the dialer with Laravel routes, a controller, and Browser::open().\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Summoning the Dialer: NativePHP and PSTN Numbers - New Media Entertainment\" \/>\n<meta property=\"og:description\" content=\"Learn how to dial PSTN numbers in a NativePHP app by opening the device\u2019s native dialer. Since NativePHP doesn\u2019t support tel: links directly, this guide shows you how to trigger the dialer with Laravel routes, a controller, and Browser::open().\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/\" \/>\n<meta property=\"og:site_name\" content=\"New Media Entertainment\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-01T11:57:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T12:01:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.nme.mobi\/blog\/wp-content\/uploads\/2025\/10\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"854\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/#\\\/schema\\\/person\\\/af3e0d852abc6918b3b8fd617643536d\"},\"headline\":\"Summoning the Dialer: NativePHP and PSTN Numbers\",\"datePublished\":\"2025-10-01T11:57:11+00:00\",\"dateModified\":\"2025-10-01T12:01:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/\"},\"wordCount\":141,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg\",\"articleSection\":[\"nativePHP\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/\",\"url\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/\",\"name\":\"Summoning the Dialer: NativePHP and PSTN Numbers - New Media Entertainment\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg\",\"datePublished\":\"2025-10-01T11:57:11+00:00\",\"dateModified\":\"2025-10-01T12:01:26+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/#\\\/schema\\\/person\\\/af3e0d852abc6918b3b8fd617643536d\"},\"description\":\"Learn how to dial PSTN numbers in a NativePHP app by opening the device\u2019s native dialer. Since NativePHP doesn\u2019t support tel: links directly, this guide shows you how to trigger the dialer with Laravel routes, a controller, and Browser::open().\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg\",\"contentUrl\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg\",\"width\":1280,\"height\":854},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/summoning-the-dialer-nativephp-and-pstn-numbers\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Summoning the Dialer: NativePHP and PSTN Numbers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/\",\"name\":\"New Media Entertainment\",\"description\":\"Solutions for THAT problem\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.nme.mobi\\\/blog\\\/#\\\/schema\\\/person\\\/af3e0d852abc6918b3b8fd617643536d\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/afd881acea40fb7d25b7d8485bfd177ba674c7193d777e38f1cf61ffc50b5d83?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/afd881acea40fb7d25b7d8485bfd177ba674c7193d777e38f1cf61ffc50b5d83?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/afd881acea40fb7d25b7d8485bfd177ba674c7193d777e38f1cf61ffc50b5d83?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/www.nme.one\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Summoning the Dialer: NativePHP and PSTN Numbers - New Media Entertainment","description":"Learn how to dial PSTN numbers in a NativePHP app by opening the device\u2019s native dialer. Since NativePHP doesn\u2019t support tel: links directly, this guide shows you how to trigger the dialer with Laravel routes, a controller, and Browser::open().","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/","og_locale":"en_US","og_type":"article","og_title":"Summoning the Dialer: NativePHP and PSTN Numbers - New Media Entertainment","og_description":"Learn how to dial PSTN numbers in a NativePHP app by opening the device\u2019s native dialer. Since NativePHP doesn\u2019t support tel: links directly, this guide shows you how to trigger the dialer with Laravel routes, a controller, and Browser::open().","og_url":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/","og_site_name":"New Media Entertainment","article_published_time":"2025-10-01T11:57:11+00:00","article_modified_time":"2025-10-01T12:01:26+00:00","og_image":[{"width":1280,"height":854,"url":"https:\/\/www.nme.mobi\/blog\/wp-content\/uploads\/2025\/10\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/#article","isPartOf":{"@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/"},"author":{"name":"admin","@id":"https:\/\/www.nme.mobi\/blog\/#\/schema\/person\/af3e0d852abc6918b3b8fd617643536d"},"headline":"Summoning the Dialer: NativePHP and PSTN Numbers","datePublished":"2025-10-01T11:57:11+00:00","dateModified":"2025-10-01T12:01:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/"},"wordCount":141,"commentCount":0,"image":{"@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/#primaryimage"},"thumbnailUrl":"https:\/\/www.nme.mobi\/blog\/wp-content\/uploads\/2025\/10\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg","articleSection":["nativePHP"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/","url":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/","name":"Summoning the Dialer: NativePHP and PSTN Numbers - New Media Entertainment","isPartOf":{"@id":"https:\/\/www.nme.mobi\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/#primaryimage"},"image":{"@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/#primaryimage"},"thumbnailUrl":"https:\/\/www.nme.mobi\/blog\/wp-content\/uploads\/2025\/10\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg","datePublished":"2025-10-01T11:57:11+00:00","dateModified":"2025-10-01T12:01:26+00:00","author":{"@id":"https:\/\/www.nme.mobi\/blog\/#\/schema\/person\/af3e0d852abc6918b3b8fd617643536d"},"description":"Learn how to dial PSTN numbers in a NativePHP app by opening the device\u2019s native dialer. Since NativePHP doesn\u2019t support tel: links directly, this guide shows you how to trigger the dialer with Laravel routes, a controller, and Browser::open().","breadcrumb":{"@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/#primaryimage","url":"https:\/\/www.nme.mobi\/blog\/wp-content\/uploads\/2025\/10\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg","contentUrl":"https:\/\/www.nme.mobi\/blog\/wp-content\/uploads\/2025\/10\/\ud83d\udcde-Summoning-the-Dialer-NativePHP-and-PSTN-Numbers.jpg","width":1280,"height":854},{"@type":"BreadcrumbList","@id":"https:\/\/www.nme.mobi\/blog\/summoning-the-dialer-nativephp-and-pstn-numbers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nme.mobi\/blog\/"},{"@type":"ListItem","position":2,"name":"Summoning the Dialer: NativePHP and PSTN Numbers"}]},{"@type":"WebSite","@id":"https:\/\/www.nme.mobi\/blog\/#website","url":"https:\/\/www.nme.mobi\/blog\/","name":"New Media Entertainment","description":"Solutions for THAT problem","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nme.mobi\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.nme.mobi\/blog\/#\/schema\/person\/af3e0d852abc6918b3b8fd617643536d","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/afd881acea40fb7d25b7d8485bfd177ba674c7193d777e38f1cf61ffc50b5d83?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/afd881acea40fb7d25b7d8485bfd177ba674c7193d777e38f1cf61ffc50b5d83?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/afd881acea40fb7d25b7d8485bfd177ba674c7193d777e38f1cf61ffc50b5d83?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.nme.one\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":5,"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"predecessor-version":[{"id":168,"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/posts\/162\/revisions\/168"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/media\/166"}],"wp:attachment":[{"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nme.mobi\/blog\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}