{"id":47009,"date":"2026-05-15T15:32:09","date_gmt":"2026-05-15T14:32:09","guid":{"rendered":"https:\/\/voipstudio.com\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio-parte-2\/"},"modified":"2026-05-15T16:00:44","modified_gmt":"2026-05-15T15:00:44","slug":"construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio","status":"publish","type":"post","link":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/","title":{"rendered":"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"47009\" class=\"elementor elementor-47009 elementor-46968\" data-elementor-settings=\"{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d59ef97 e-flex e-con-boxed e-con e-parent\" data-id=\"d59ef97\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6e8fbaf elementor-widget elementor-widget-text-editor\" data-id=\"6e8fbaf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Ligar Python (PJSIP) ao VoIPstudio em 30 minutos<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dcaf590 elementor-widget elementor-widget-text-editor\" data-id=\"dcaf590\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Este guia d\u00e1 seguimento a<strong> <a href=\"https:\/\/voipstudio.com\/pt\/blog\/assistente-de-voz-com-ia-com-python-pjsip-e-voipstudio-parte-1\/\">Assistente de voz alimentado por IA com Python, PJSIP e VoIPstudio (Parte 1)<\/a><\/strong><\/span><i><span style=\"font-weight: 400;\"> <\/span><\/i><span style=\"font-weight: 400;\">e percorre os passos b\u00e1sicos necess\u00e1rios para construir um cliente SIP program\u00e1vel utilizando Python e lig\u00e1-lo ao VoIPstudio. Exemplos baseados num projeto de c\u00f3digo aberto desenvolvido por   <\/span><a href=\"https:\/\/www.bustamantepalacio.info\/\"><span style=\"font-weight: 400;\">Luis Miguel<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8a41a0d e-flex e-con-boxed e-con e-parent\" data-id=\"8a41a0d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a5ef4f6 elementor-widget elementor-widget-text-editor\" data-id=\"a5ef4f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Passo 1: Criar uma conta VoIPstudio<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ba567a elementor-widget elementor-widget-text-editor\" data-id=\"8ba567a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Registe-se para um <a href=\"https:\/\/voipstudio.com\/pt\/signup\/\">teste gratuito<\/a>.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Crie uma extens\u00e3o SIP.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Anote as seguintes credenciais:<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Nome de utilizador SIP<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Palavra-passe SIP<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Dom\u00ednio SIP (ex. sip.voipstudio.com)<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Estas credenciais ser\u00e3o utilizadas para o registo.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b7533fa e-con-full e-flex e-con e-child\" data-id=\"b7533fa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7b10976 elementor-widget elementor-widget-text-editor\" data-id=\"7b10976\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Passo 2: Clonar o cliente de c\u00f3digo aberto<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4475adf e-con-full e-flex e-con e-child\" data-id=\"4475adf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eebcf96 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"eebcf96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-github\" viewBox=\"0 0 496 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d7a8115 elementor-widget elementor-widget-text-editor\" data-id=\"d7a8115\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><b>Reposit\u00f3rio:<\/b><b><br><\/b><a href=\"https:\/\/github.com\/luismiguelbp\/voip-client-python\"><span style=\"font-weight: 400;\">https:\/\/github.com\/luismiguelbp\/voip-client-python<\/span><span style=\"font-weight: 400;\"><br><\/span><\/a><b>Projeto:<\/b> <span style=\"font-weight: 400;\">voip-client-python<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85c1866 elementor-widget elementor-widget-text-editor\" data-id=\"85c1866\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Clonar localmente:<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4d44ea elementor-widget elementor-widget-code-highlight\" data-id=\"c4d44ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>git clone https:\/\/github.com\/luismiguelbp\/voip-client-python.git\ncd voip-client-python<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6734e2b elementor-widget elementor-widget-text-editor\" data-id=\"6734e2b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Este projeto j\u00e1 inclui:<\/span><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">L\u00f3gica de registo de conta SIP<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Gest\u00e3o de inicia\u00e7\u00e3o de chamadas<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Gest\u00e3o de fluxo de media<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Callbacks de eventos<\/span><\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a1cf9a9 e-con-full e-flex e-con e-child\" data-id=\"a1cf9a9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-43b99d6 elementor-widget elementor-widget-text-editor\" data-id=\"43b99d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Passo 4: Efetuar uma chamada de sa\u00edda<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f87d036 elementor-widget elementor-widget-text-editor\" data-id=\"f87d036\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Exemplo minimalista:<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e38694b elementor-widget elementor-widget-code-highlight\" data-id=\"e38694b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>call = MyCall(account, pj.CallOpParam(True))\ncall.makeCall(\"sip:+441234567890@sip.voipstudio.com\", pj.CallOpParam(True))<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b1a6941 elementor-widget elementor-widget-text-editor\" data-id=\"b1a6941\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">A partir daqui, pode:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Injetar \u00e1udio pr\u00e9-gravado<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Gerar fala dinamicamente<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Anexar l\u00f3gica de IA em tempo real<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Processar fluxos de \u00e1udio de entrada<\/span><\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-39a3fa0 e-con-full e-flex e-con e-child\" data-id=\"39a3fa0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bd3007c elementor-widget elementor-widget-text-editor\" data-id=\"bd3007c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Passo 5: Expandir com IA<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-368fd5a elementor-widget elementor-widget-text-editor\" data-id=\"368fd5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Tem agora um canal de voz program\u00e1vel.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A partir deste ponto, pode integrar:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Motores de convers\u00e3o de fala em texto<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Modelos de conversa\u00e7\u00e3o baseados em LLM<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fluxos de trabalho de escalonamento personalizados<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00c1rvores de IVR din\u00e2micas<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">O VoIPstudio gere:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Transporte SIP<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Encaminhamento de chamadas<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Conetividade PSTN<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Aprovisionamento de n\u00fameros globais<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">O utilizador controla a camada de intelig\u00eancia.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4f5430a e-flex e-con-boxed e-con e-parent\" data-id=\"4f5430a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f8eff25 elementor-widget elementor-widget-heading\" data-id=\"f8eff25\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Op\u00e7\u00f5es de implementa\u00e7\u00e3o<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dcc8afe elementor-widget elementor-widget-text-editor\" data-id=\"dcc8afe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Como o cliente \u00e9 baseado em normas SIP, pode ser executado:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">No local (ambientes industriais)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Num servidor Linux<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Num contentor Docker<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Numa VM na nuvem<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Dentro de uma plataforma de automa\u00e7\u00e3o maior<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">N\u00e3o \u00e9 necess\u00e1rio nenhum SDK de telefonia propriet\u00e1rio.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fce7221 e-flex e-con-boxed e-con e-parent\" data-id=\"fce7221\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3d64db9 elementor-widget elementor-widget-text-editor\" data-id=\"3d64db9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Por que raz\u00e3o esta abordagem \u00e9 escal\u00e1vel<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0247ff8 elementor-widget elementor-widget-text-editor\" data-id=\"0247ff8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Muitas plataformas de voz com IA associam estreitamente a intelig\u00eancia e a telefonia.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Esta arquitetura separa-as:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A IA pode evoluir de forma independente.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A infraestrutura de telefonia permanece est\u00e1vel.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Os programadores mant\u00eam o controlo total ao n\u00edvel do protocolo.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Para integradores de sistemas e engenheiros de infraestruturas, isto reduz o risco de depend\u00eancia de um fornecedor a longo prazo.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-08f928e e-flex e-con-boxed e-con e-parent\" data-id=\"08f928e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-958ba15 elementor-widget elementor-widget-text-editor\" data-id=\"958ba15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Pr\u00f3ximos passos<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-935b4e0 elementor-widget elementor-widget-text-editor\" data-id=\"935b4e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fa\u00e7a um fork do reposit\u00f3rio.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ligue-o ao seu <a href=\"https:\/\/voipstudio.com\/pt\/signup\/\">teste do VoIPstudio<\/a>.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Construa o seu primeiro fluxo de trabalho de voz program\u00e1vel.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Se necessitar de SIP trunking \u00e0 escala ou de aprovisionamento de n\u00fameros globais, o VoIPstudio fornece a camada de transporte.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Ligar Python (PJSIP) ao VoIPstudio em 30 minutos Este guia d\u00e1 seguimento a Assistente de voz alimentado por IA com Python, PJSIP [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":47010,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[485],"tags":[732,663,733,731,734,602],"class_list":["post-47009","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-inovacao-e-tecnologia","tag-assistentes-de-ia","tag-ia","tag-python","tag-tecnologia-sip-e-voip","tag-tutorial","tag-voip-com-ia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2) &#183; VoIPstudio<\/title>\n<meta name=\"description\" content=\"Este guia passo a passo abrange o registo SIP, chamadas de sa\u00edda, integra\u00e7\u00e3o de IA e automa\u00e7\u00e3o de voz escal\u00e1vel utilizando ferramentas de c\u00f3digo aberto.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2)\" \/>\n<meta property=\"og:description\" content=\"Este guia passo a passo abrange o registo SIP, chamadas de sa\u00edda, integra\u00e7\u00e3o de IA e automa\u00e7\u00e3o de voz escal\u00e1vel utilizando ferramentas de c\u00f3digo aberto.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/\" \/>\n<meta property=\"og:site_name\" content=\"VoIPstudio\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/voipstudio\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-15T14:32:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-15T15:00:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/voipstudio.com\/wp-content\/uploads\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tim Meredith\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@voipstudio\" \/>\n<meta name=\"twitter:site\" content=\"@voipstudio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tim Meredith\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/\"},\"author\":{\"name\":\"Tim Meredith\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#\\\/schema\\\/person\\\/6e06e79f076751a163152d59ef627056\"},\"headline\":\"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2)\",\"datePublished\":\"2026-05-15T14:32:09+00:00\",\"dateModified\":\"2026-05-15T15:00:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/\"},\"wordCount\":424,\"publisher\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/voipstudio.com\\\/wp-content\\\/uploads\\\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png\",\"keywords\":[\"Assistentes de IA\",\"IA\",\"Python\",\"Tecnologia SIP e VoIP\",\"Tutorial\",\"VoIP com IA\"],\"articleSection\":[\"Inova\u00e7\u00e3o e Tecnologia\"],\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/\",\"url\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/\",\"name\":\"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2) &#183; VoIPstudio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/voipstudio.com\\\/wp-content\\\/uploads\\\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png\",\"datePublished\":\"2026-05-15T14:32:09+00:00\",\"dateModified\":\"2026-05-15T15:00:44+00:00\",\"description\":\"Este guia passo a passo abrange o registo SIP, chamadas de sa\u00edda, integra\u00e7\u00e3o de IA e automa\u00e7\u00e3o de voz escal\u00e1vel utilizando ferramentas de c\u00f3digo aberto.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/#primaryimage\",\"url\":\"https:\\\/\\\/voipstudio.com\\\/wp-content\\\/uploads\\\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png\",\"contentUrl\":\"https:\\\/\\\/voipstudio.com\\\/wp-content\\\/uploads\\\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png\",\"width\":1200,\"height\":628,\"caption\":\"Uma ilustra\u00e7\u00e3o com os log\u00f3tipos de Python, PJSIP e VoIPstudio e uma ilustra\u00e7\u00e3o de um assistente de voz com IA\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/\",\"name\":\"VoIPstudio\",\"description\":\"Business communications for modern teams\",\"publisher\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#organization\",\"name\":\"VoIPstudio\",\"url\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/voipstudio.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/voipstudio_logo_black-1.png\",\"contentUrl\":\"https:\\\/\\\/voipstudio.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/voipstudio_logo_black-1.png\",\"width\":1961,\"height\":379,\"caption\":\"VoIPstudio\"},\"image\":{\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/voipstudio\",\"https:\\\/\\\/x.com\\\/voipstudio\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/voipstudio-com\\\/\",\"https:\\\/\\\/www.youtube.com\\\/voipstudio\"],\"description\":\"A limited company registered in England under company number 6978512, whose registered address is Gable House, 18-24 Turnham Green Terrace, W4 1QP London, United Kingdom.\",\"email\":\"marketing@voipstudio.com\",\"telephone\":\"+44 203 432 9230\",\"legalName\":\"Level 7 Systems\",\"foundingDate\":\"2009-08-03\",\"vatID\":\"GB982288750\",\"taxID\":\"6978512\",\"iso6523Code\":\"A8087849\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/#\\\/schema\\\/person\\\/6e06e79f076751a163152d59ef627056\",\"name\":\"Tim Meredith\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0a5792bba60173b16d6155c469e3c339fb62db03795e74f98a82e723020cfba7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0a5792bba60173b16d6155c469e3c339fb62db03795e74f98a82e723020cfba7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0a5792bba60173b16d6155c469e3c339fb62db03795e74f98a82e723020cfba7?s=96&d=mm&r=g\",\"caption\":\"Tim Meredith\"},\"description\":\"Tim Meredith is a telecoms and technology business leader with extensive experience across VoIP, SaaS, and UCaaS. As founder and director of multiple marketing and technology businesses, he writes about business communications, cloud telephony, customer experience, and telecom industry trends.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/timmeredith\\\/\"],\"knowsAbout\":[\"Telecoms\",\"Technology\",\"UC\",\"SaaS\",\"VoIP\"],\"knowsLanguage\":[\"English\"],\"url\":\"https:\\\/\\\/voipstudio.com\\\/pt\\\/blog\\\/author\\\/tim\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2) &#183; VoIPstudio","description":"Este guia passo a passo abrange o registo SIP, chamadas de sa\u00edda, integra\u00e7\u00e3o de IA e automa\u00e7\u00e3o de voz escal\u00e1vel utilizando ferramentas de c\u00f3digo aberto.","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:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/","og_locale":"pt_PT","og_type":"article","og_title":"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2)","og_description":"Este guia passo a passo abrange o registo SIP, chamadas de sa\u00edda, integra\u00e7\u00e3o de IA e automa\u00e7\u00e3o de voz escal\u00e1vel utilizando ferramentas de c\u00f3digo aberto.","og_url":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/","og_site_name":"VoIPstudio","article_publisher":"https:\/\/www.facebook.com\/voipstudio","article_published_time":"2026-05-15T14:32:09+00:00","article_modified_time":"2026-05-15T15:00:44+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/voipstudio.com\/wp-content\/uploads\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png","type":"image\/png"}],"author":"Tim Meredith","twitter_card":"summary_large_image","twitter_creator":"@voipstudio","twitter_site":"@voipstudio","twitter_misc":{"Written by":"Tim Meredith","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/#article","isPartOf":{"@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/"},"author":{"name":"Tim Meredith","@id":"https:\/\/voipstudio.com\/pt\/#\/schema\/person\/6e06e79f076751a163152d59ef627056"},"headline":"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2)","datePublished":"2026-05-15T14:32:09+00:00","dateModified":"2026-05-15T15:00:44+00:00","mainEntityOfPage":{"@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/"},"wordCount":424,"publisher":{"@id":"https:\/\/voipstudio.com\/pt\/#organization"},"image":{"@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/#primaryimage"},"thumbnailUrl":"https:\/\/voipstudio.com\/wp-content\/uploads\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png","keywords":["Assistentes de IA","IA","Python","Tecnologia SIP e VoIP","Tutorial","VoIP com IA"],"articleSection":["Inova\u00e7\u00e3o e Tecnologia"],"inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/","url":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/","name":"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2) &#183; VoIPstudio","isPartOf":{"@id":"https:\/\/voipstudio.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/#primaryimage"},"image":{"@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/#primaryimage"},"thumbnailUrl":"https:\/\/voipstudio.com\/wp-content\/uploads\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png","datePublished":"2026-05-15T14:32:09+00:00","dateModified":"2026-05-15T15:00:44+00:00","description":"Este guia passo a passo abrange o registo SIP, chamadas de sa\u00edda, integra\u00e7\u00e3o de IA e automa\u00e7\u00e3o de voz escal\u00e1vel utilizando ferramentas de c\u00f3digo aberto.","breadcrumb":{"@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/#primaryimage","url":"https:\/\/voipstudio.com\/wp-content\/uploads\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png","contentUrl":"https:\/\/voipstudio.com\/wp-content\/uploads\/ai-powered-voice-assistant-with-python-pjsip-and-voipstudio-part-1.png","width":1200,"height":628,"caption":"Uma ilustra\u00e7\u00e3o com os log\u00f3tipos de Python, PJSIP e VoIPstudio e uma ilustra\u00e7\u00e3o de um assistente de voz com IA"},{"@type":"BreadcrumbList","@id":"https:\/\/voipstudio.com\/pt\/blog\/construir-um-cliente-de-voz-programavel-com-python-pjsip-e-voipstudio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/voipstudio.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Construir um cliente de voz program\u00e1vel com Python, PJSIP e VoIPstudio (Parte 2)"}]},{"@type":"WebSite","@id":"https:\/\/voipstudio.com\/pt\/#website","url":"https:\/\/voipstudio.com\/pt\/","name":"VoIPstudio","description":"Business communications for modern teams","publisher":{"@id":"https:\/\/voipstudio.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/voipstudio.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/voipstudio.com\/pt\/#organization","name":"VoIPstudio","url":"https:\/\/voipstudio.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/voipstudio.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/voipstudio.com\/wp-content\/uploads\/2025\/07\/voipstudio_logo_black-1.png","contentUrl":"https:\/\/voipstudio.com\/wp-content\/uploads\/2025\/07\/voipstudio_logo_black-1.png","width":1961,"height":379,"caption":"VoIPstudio"},"image":{"@id":"https:\/\/voipstudio.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/voipstudio","https:\/\/x.com\/voipstudio","https:\/\/www.linkedin.com\/company\/voipstudio-com\/","https:\/\/www.youtube.com\/voipstudio"],"description":"A limited company registered in England under company number 6978512, whose registered address is Gable House, 18-24 Turnham Green Terrace, W4 1QP London, United Kingdom.","email":"marketing@voipstudio.com","telephone":"+44 203 432 9230","legalName":"Level 7 Systems","foundingDate":"2009-08-03","vatID":"GB982288750","taxID":"6978512","iso6523Code":"A8087849","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/voipstudio.com\/pt\/#\/schema\/person\/6e06e79f076751a163152d59ef627056","name":"Tim Meredith","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/0a5792bba60173b16d6155c469e3c339fb62db03795e74f98a82e723020cfba7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0a5792bba60173b16d6155c469e3c339fb62db03795e74f98a82e723020cfba7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0a5792bba60173b16d6155c469e3c339fb62db03795e74f98a82e723020cfba7?s=96&d=mm&r=g","caption":"Tim Meredith"},"description":"Tim Meredith is a telecoms and technology business leader with extensive experience across VoIP, SaaS, and UCaaS. As founder and director of multiple marketing and technology businesses, he writes about business communications, cloud telephony, customer experience, and telecom industry trends.","sameAs":["https:\/\/www.linkedin.com\/in\/timmeredith\/"],"knowsAbout":["Telecoms","Technology","UC","SaaS","VoIP"],"knowsLanguage":["English"],"url":"https:\/\/voipstudio.com\/pt\/blog\/author\/tim\/"}]}},"_links":{"self":[{"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/posts\/47009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/comments?post=47009"}],"version-history":[{"count":2,"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/posts\/47009\/revisions"}],"predecessor-version":[{"id":47027,"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/posts\/47009\/revisions\/47027"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/media\/47010"}],"wp:attachment":[{"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/media?parent=47009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/categories?post=47009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/voipstudio.com\/pt\/wp-json\/wp\/v2\/tags?post=47009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}