<HTML><HEAD>
<STYLE id=eMClientCss>BLOCKQUOTE.cite {
        PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
BLOCKQUOTE.cite2 {
        PADDING-TOP: 0px; PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; MARGIN-TOP: 3px; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
.plain PRE {
        FONT-SIZE: 100%; FONT-FAMILY: monospace; FONT-WEIGHT: normal; FONT-STYLE: normal
}
.plain TT {
        FONT-SIZE: 100%; FONT-FAMILY: monospace; FONT-WEIGHT: normal; FONT-STYLE: normal
}
A IMG {
        BORDER-TOP: 0px; BORDER-RIGHT: 0px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px
}
.plain PRE {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
.plain TT {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
BODY {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
</STYLE>

<STYLE></STYLE>
</HEAD>
<BODY scroll=auto class>
<DIV>&nbsp;Caio.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Estou enviando em anexo um daemon em perl, que eu mesmo escrevi e faz "quase" a mesma coisa que o deles, rsrs.</DIV>
<DIV>O meu é para minhas necessidades, então não tem todas as funcionalidades implantadas, mas analisando os logs das requisições que o GoIP vai fazer a esse daemon, você consegue pegar os SMS recebidos no CHIP.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Você vai precisar instalar algumas libs adicionais no perl para conseguir rodar ele, só olhar os imports.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Aqui tem um exemplo em PHP, de como enviar um SMS pelo goip, enviando a solicitação para o daemon em anexo. Peguei o código&nbsp;de uma classe&nbsp;que criei&nbsp;e o editor "bagunçou" a identação do código então você vai ter que alterar ai para funcionar com seu ambiente.</DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN><PRE style="FONT-SIZE: 12pt; FONT-FAMILY: 'Courier New'; COLOR: #f8f8f2; BACKGROUND-COLOR: #272822"><SPAN style="COLOR: #d5e5d5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$rs </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #66d9ef; FONT-STYLE: italic">DB</SPAN><SPAN style="COLOR: #f92672">::</SPAN><SPAN style="COLOR: #a7ec21">select</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">'name'</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #e6db74">'host'</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #e6db74">'port'</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #e6db74">'password'</SPAN><SPAN style="COLOR: #f92672">, array</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #66d9ef; FONT-STYLE: italic">DB</SPAN><SPAN style="COLOR: #f92672">::</SPAN><SPAN style="COLOR: #a7ec21">expr</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">'ROUND(RAND() * id)'</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #e6db74">'rander'</SPAN><SPAN style="COLOR: #f9faf4">))<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;</SPAN><SPAN style="COLOR: #a7ec21">from</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">'<FONT color=#f9faf4>goip_gw_ports'</FONT></SPAN><SPAN style="COLOR: #f9faf4">)<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;</SPAN><SPAN style="COLOR: #a7ec21">where</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">'provider'</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #e6db74">'='</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #66d9ef; FONT-STYLE: italic">$id_provedor</SPAN><SPAN style="COLOR: #f9faf4">)<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;</SPAN><SPAN style="COLOR: #a7ec21">and_where</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">'alive'</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #e6db74">'='</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">1</SPAN><SPAN style="COLOR: #f9faf4">)<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;</SPAN><SPAN style="COLOR: #a7ec21">order_by</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">'rander'</SPAN><SPAN style="COLOR: #f9faf4">) //ORDENANDO POR PORTAS DO GW, ALEATORIO<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;</SPAN><SPAN style="COLOR: #a7ec21">as_object</SPAN><SPAN style="COLOR: #f9faf4">()<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;</SPAN><SPAN style="COLOR: #a7ec21">execute</SPAN><SPAN style="COLOR: #f9faf4">()</SPAN><SPAN style="COLOR: #f92672">;<BR><SPAN><PRE style="FONT-SIZE: 12pt; FONT-FAMILY: 'Courier New'; COLOR: #f8f8f2; BACKGROUND-COLOR: #272822"><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">!</SPAN><SPAN style="COLOR: #ae81ff">count</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$rs</SPAN><SPAN style="COLOR: #f9faf4">)){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>sent_ok <SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text <SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";PROVIDER_NOT_FOUND_ROW"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text<SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">    return FALSE;<BR></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #ae81ff">ignore_user_abort</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">true</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #ae81ff">set_time_limit</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"><BR></SPAN><SPAN style="COLOR: #d5e5d5">$socket </SPAN><SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #d5e5d5">$sms_sent </SPAN><SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672"><BR></SPAN><SPAN style="COLOR: #f92672">try</SPAN><SPAN style="COLOR: #f9faf4">{<BR></SPAN><SPAN style="COLOR: #f9faf4"><BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if </SPAN><SPAN style="COLOR: #f9faf4">((</SPAN><SPAN style="COLOR: #d5e5d5">$socket </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #ae81ff">socket_create</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">AF_INET</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">SOCK_DGRAM</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">SOL_UDP</SPAN><SPAN style="COLOR: #f9faf4">)) </SPAN><SPAN style="COLOR: #f92672">&lt;= </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f9faf4">) {<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text <SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"FAIL Reason: " </SPAN><SPAN style="COLOR: #f92672">. </SPAN><SPAN style="COLOR: #ae81ff">socket_strerror</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text<SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">        return FALSE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #ae81ff">socket_set_option</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">SOL_SOCKET</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">SO_RCVTIMEO</SPAN><SPAN style="COLOR: #f92672">, array</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">'sec' </SPAN>=&gt; <SPAN style="COLOR: #50ff00">6</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #e6db74">'usec' </SPAN>=&gt; <SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f9faf4">))</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #ae81ff">socket_set_option</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">SOL_SOCKET</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">SO_SNDTIMEO</SPAN><SPAN style="COLOR: #f92672">, array</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">'sec' </SPAN>=&gt; <SPAN style="COLOR: #50ff00">3</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #e6db74">'usec' </SPAN>=&gt; <SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f9faf4">))</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"><BR></SPAN><SPAN style="COLOR: #f92672">    foreach</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$rs </SPAN><SPAN style="COLOR: #f92672">as </SPAN><SPAN style="COLOR: #d5e5d5">$row</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$host </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #d5e5d5">$row</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>host<SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$port </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #d5e5d5">$row</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>port<SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$name </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #d5e5d5">$row</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>name<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">" </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #e6db74">:</SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$password </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #d5e5d5">$row</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>password<SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672"><BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$mid </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #66d9ef; FONT-STYLE: italic">$id_provedor</SPAN><SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #ae81ff">rand</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #50ff00">300000</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$msg </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #ae81ff">str_replace</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">array</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #ae81ff">\\</SPAN><SPAN style="COLOR: #e6db74">n"</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #e6db74">" "</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>gw_msg<SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$len </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$msg</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$number </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">getNumber</SPAN><SPAN style="COLOR: #f9faf4">()</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"><BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text <SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">""</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text<SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"><BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$buf </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"MSG </SPAN><SPAN style="COLOR: #d5e5d5">$mid $len $msg</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">        if </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">) </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">) </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";GOIP [</SPAN><SPAN style="COLOR: #d5e5d5">$name</SPAN><SPAN style="COLOR: #e6db74">] "</SPAN><SPAN style="COLOR: #f92672">. </SPAN><SPAN style="COLOR: #ae81ff">socket_strerror</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">socket_last_error</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f9faf4">)))</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #ae81ff">usleep</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #50ff00">100000</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">                continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">        }<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">for </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$i </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">; </SPAN><SPAN style="COLOR: #d5e5d5">$i </SPAN><SPAN style="COLOR: #f92672">&lt; </SPAN><SPAN style="COLOR: #50ff00">3</SPAN><SPAN style="COLOR: #f92672">; </SPAN><SPAN style="COLOR: #d5e5d5">$i</SPAN><SPAN style="COLOR: #f92672">++</SPAN><SPAN style="COLOR: #f9faf4">) {<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if </SPAN><SPAN style="COLOR: #f9faf4">((</SPAN><SPAN style="COLOR: #d5e5d5">$recv_bytes </SPAN><SPAN style="COLOR: #f92672">= @</SPAN><SPAN style="COLOR: #ae81ff">socket_recvfrom</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">512</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$recv_host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$recv_port</SPAN><SPAN style="COLOR: #f9faf4">)) </SPAN><SPAN style="COLOR: #f92672">== FALSE</SPAN><SPAN style="COLOR: #f9faf4">) {<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672">                continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">} </SPAN><SPAN style="COLOR: #f92672">else </SPAN><SPAN style="COLOR: #f9faf4">{<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= TRUE;<BR></SPAN><SPAN style="COLOR: #f92672">                break;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">        }<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";UNABLE TO CONNECT GOIP [</SPAN><SPAN style="COLOR: #d5e5d5">$name</SPAN><SPAN style="COLOR: #e6db74">]"</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"><BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #999291">//EXPECT PASSWORD $mid<BR></SPAN><SPAN style="COLOR: #999291"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">substr</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">"PASSWORD </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f9faf4">)) </SPAN><SPAN style="COLOR: #f92672">!= </SPAN><SPAN style="COLOR: #e6db74">"PASSWORD </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$buf </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"DONE </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            @</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"><BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$buf </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"PASSWORD </SPAN><SPAN style="COLOR: #d5e5d5">$mid $password</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">        if </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">) </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">) </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #ae81ff">usleep</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #50ff00">100000</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$buf </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"DONE </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">                @</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";GOIP [</SPAN><SPAN style="COLOR: #d5e5d5">$name</SPAN><SPAN style="COLOR: #e6db74">] "</SPAN><SPAN style="COLOR: #f92672">. </SPAN><SPAN style="COLOR: #ae81ff">socket_strerror</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">socket_last_error</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f9faf4">)))</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">                continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">        }<BR></SPAN><SPAN style="COLOR: #f9faf4"><BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672">        for </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$i </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">; </SPAN><SPAN style="COLOR: #d5e5d5">$i </SPAN><SPAN style="COLOR: #f92672">&lt; </SPAN><SPAN style="COLOR: #50ff00">3</SPAN><SPAN style="COLOR: #f92672">; </SPAN><SPAN style="COLOR: #d5e5d5">$i</SPAN><SPAN style="COLOR: #f92672">++</SPAN><SPAN style="COLOR: #f9faf4">) {<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if </SPAN><SPAN style="COLOR: #f9faf4">((</SPAN><SPAN style="COLOR: #d5e5d5">$recv_bytes </SPAN><SPAN style="COLOR: #f92672">= @</SPAN><SPAN style="COLOR: #ae81ff">socket_recvfrom</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">512</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$recv_host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$recv_port</SPAN><SPAN style="COLOR: #f9faf4">)) </SPAN><SPAN style="COLOR: #f92672">== FALSE</SPAN><SPAN style="COLOR: #f9faf4">) {<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672">                continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">} </SPAN><SPAN style="COLOR: #f92672">else </SPAN><SPAN style="COLOR: #f9faf4">{<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= TRUE;<BR></SPAN><SPAN style="COLOR: #f92672">                break;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">        }<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$buf </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"DONE </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            @</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";UNABLE TO GET PASS GOIP [</SPAN><SPAN style="COLOR: #d5e5d5">$name</SPAN><SPAN style="COLOR: #e6db74">]"</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}                <BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #999291">//EXPECT SEND $mid<BR></SPAN><SPAN style="COLOR: #999291"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">substr</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">"SEND </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f9faf4">)) </SPAN><SPAN style="COLOR: #f92672">!= </SPAN><SPAN style="COLOR: #e6db74">"SEND </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$buf2 </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"DONE </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            @</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";INVALID RESPONSE GOIP [</SPAN><SPAN style="COLOR: #d5e5d5">$name</SPAN><SPAN style="COLOR: #e6db74">] </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"><BR></SPAN>send<SPAN style="COLOR: #f92672">:<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$buf2 </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"SEND </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #e6db74"> 1 </SPAN><SPAN style="COLOR: #d5e5d5">$number</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">        if </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">) </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">) </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #ae81ff">usleep</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #50ff00">100000</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$buf2 </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"DONE </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">                @</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";GOIP [</SPAN><SPAN style="COLOR: #d5e5d5">$name</SPAN><SPAN style="COLOR: #e6db74">] "</SPAN><SPAN style="COLOR: #f92672">. </SPAN><SPAN style="COLOR: #ae81ff">socket_strerror</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">socket_last_error</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f9faf4">)))</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">                continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">        }<BR></SPAN><SPAN style="COLOR: #f9faf4"><BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672">        for </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$i </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">; </SPAN><SPAN style="COLOR: #d5e5d5">$i </SPAN><SPAN style="COLOR: #f92672">&lt; </SPAN><SPAN style="COLOR: #50ff00">3</SPAN><SPAN style="COLOR: #f92672">; </SPAN><SPAN style="COLOR: #d5e5d5">$i</SPAN><SPAN style="COLOR: #f92672">++</SPAN><SPAN style="COLOR: #f9faf4">) {<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if </SPAN><SPAN style="COLOR: #f9faf4">((</SPAN><SPAN style="COLOR: #d5e5d5">$recv_bytes </SPAN><SPAN style="COLOR: #f92672">= @</SPAN><SPAN style="COLOR: #ae81ff">socket_recvfrom</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">512</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$recv_host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$recv_port</SPAN><SPAN style="COLOR: #f9faf4">)) </SPAN><SPAN style="COLOR: #f92672">== FALSE</SPAN><SPAN style="COLOR: #f9faf4">) {<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672">                continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">} </SPAN><SPAN style="COLOR: #f92672">else </SPAN><SPAN style="COLOR: #f9faf4">{<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">= TRUE;<BR></SPAN><SPAN style="COLOR: #f92672">                break;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">        }<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$is_response </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$buf2 </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"DONE </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            @</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";UNABLE TO RESPONSE GOIP [</SPAN><SPAN style="COLOR: #d5e5d5">$name</SPAN><SPAN style="COLOR: #e6db74">] </SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"><BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #999291">//EXPECT OK $mid | WAIT $mid D<BR></SPAN><SPAN style="COLOR: #999291"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">substr</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">"OK"</SPAN><SPAN style="COLOR: #f9faf4">)) </SPAN><SPAN style="COLOR: #f92672">== </SPAN><SPAN style="COLOR: #e6db74">"OK"</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$sms_sent </SPAN><SPAN style="COLOR: #f92672">= TRUE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text <SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">getServerResponse</SPAN><SPAN style="COLOR: #f9faf4">()</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>sent_ok <SPAN style="COLOR: #f92672">= TRUE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}</SPAN><SPAN style="COLOR: #f92672">elseif</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">substr</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">"WAIT"</SPAN><SPAN style="COLOR: #f9faf4">)) </SPAN><SPAN style="COLOR: #f92672">== </SPAN><SPAN style="COLOR: #e6db74">"WAIT"</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$time </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #ae81ff">intval</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #ae81ff">str_replace</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #e6db74">"WAIT </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #e6db74">""</SPAN><SPAN style="COLOR: #f92672">,</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">))</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$time </SPAN><SPAN style="COLOR: #f92672">&lt; </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$time </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #50ff00">1</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}</SPAN><SPAN style="COLOR: #f92672">elseif</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$time </SPAN><SPAN style="COLOR: #f92672">&gt; </SPAN><SPAN style="COLOR: #50ff00">5</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$time </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #50ff00">5</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #ae81ff">usleep</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$time</SPAN><SPAN style="COLOR: #f92672">*</SPAN><SPAN style="COLOR: #50ff00">1000000</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">            goto </SPAN>send<SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}</SPAN><SPAN style="COLOR: #f92672">else</SPAN><SPAN style="COLOR: #f9faf4">{<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text <SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">getServerResponse</SPAN><SPAN style="COLOR: #f9faf4">()</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>sent_ok <SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"><BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$buf2 </SPAN><SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"DONE </SPAN><SPAN style="COLOR: #d5e5d5">$mid</SPAN><SPAN style="COLOR: #ae81ff">\n</SPAN><SPAN style="COLOR: #e6db74">"</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">        if </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">) </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if </SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">) </SPAN><SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_sendto</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #ae81ff">strlen</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$buf2</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #50ff00">0</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$host</SPAN><SPAN style="COLOR: #f92672">, </SPAN><SPAN style="COLOR: #d5e5d5">$port</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">        }<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>sent_ok <SPAN style="COLOR: #f92672">=== FALSE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">continue;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}</SPAN><SPAN style="COLOR: #f92672">else</SPAN><SPAN style="COLOR: #f9faf4">{<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>sent_ok <SPAN style="COLOR: #f92672">= TRUE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$sms_sent </SPAN><SPAN style="COLOR: #f92672">= TRUE;<BR></SPAN><SPAN style="COLOR: #f92672">            break;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">    }<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">@</SPAN><SPAN style="COLOR: #ae81ff">socket_close</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">return </SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>sent_ok<SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f9faf4">}</SPAN><SPAN style="COLOR: #f92672">catch</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN>Exception <SPAN style="COLOR: #d5e5d5">$e</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #ae81ff">socket_close</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$socket</SPAN><SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #f92672">if</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$sms_sent </SPAN><SPAN style="COLOR: #f92672">=== TRUE</SPAN><SPAN style="COLOR: #f9faf4">){<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>sent_ok <SPAN style="COLOR: #f92672">= TRUE;<BR></SPAN><SPAN style="COLOR: #f92672">        return TRUE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}</SPAN><SPAN style="COLOR: #f92672">else</SPAN><SPAN style="COLOR: #f9faf4">{<BR></SPAN><SPAN style="COLOR: #f9faf4"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>sent_ok <SPAN style="COLOR: #f92672">= FALSE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text <SPAN style="COLOR: #f92672">= </SPAN><SPAN style="COLOR: #e6db74">"Send Error ["</SPAN><SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #d5e5d5">$e</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">getLine</SPAN><SPAN style="COLOR: #f9faf4">()</SPAN><SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">"]: " </SPAN><SPAN style="COLOR: #f92672">. </SPAN><SPAN style="COLOR: #d5e5d5">$e</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">getMessage</SPAN><SPAN style="COLOR: #f9faf4">()</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN><SPAN style="COLOR: #a7ec21">setServerResponse</SPAN><SPAN style="COLOR: #f9faf4">(</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>return_error<SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #e6db74">";"</SPAN><SPAN style="COLOR: #f92672">.</SPAN><SPAN style="COLOR: #d5e5d5">$this</SPAN><SPAN style="COLOR: #f92672">-&gt;</SPAN>debug_text<SPAN style="COLOR: #f9faf4">)</SPAN><SPAN style="COLOR: #f92672">;<BR></SPAN><SPAN style="COLOR: #f92672">        return FALSE;<BR></SPAN><SPAN style="COLOR: #f92672"></SPAN><SPAN style="COLOR: #f9faf4">}<BR></SPAN><SPAN style="COLOR: #f9faf4">}</SPAN></PRE></SPAN><BR></SPAN></PRE></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV id=signature_old>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"><SPAN id=x2a1d942af8d74c6b82e72d507654c903 style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space">
<DIV style="FONT-SIZE: 12px; FONT-FAMILY: Helvetica"><B style="COLOR: rgb(51,51,51)"><FONT color=#000066>Atenciosamente / Best regards / Saludos,</FONT></B></DIV>
<DIV>&nbsp;</DIV>
<DIV><IMG border=0 alt="" src="cid:em5e6a03ae-a15f-413d-9948-93ba6ff4924f@sandbox"><BR class=Apple-interchange-newline style="FONT-SIZE: 12px; FONT-FAMILY: Helvetica"><B style="FONT-SIZE: 12px; FONT-FAMILY: Helvetica; COLOR: rgb(0,102,0)"><SPAN style="FONT-SIZE: 13px; FONT-FAMILY: arial, sans-serif"><SPAN style="FONT-SIZE: 24pt; FONT-FAMILY: Webdings">P </SPAN></SPAN><SPAN style="FONT-SIZE: 13px; FONT-FAMILY: arial, sans-serif"><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: Tahoma">Antes de imprimir</SPAN></SPAN><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: Tahoma">&nbsp;pense em sua responsabilidade e &nbsp;compromisso com o&nbsp;Meio Ambiente!</SPAN></B></DIV></SPAN></DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>------ Mensagem original ------</DIV>
<DIV>De: "Caio Pato" &lt;<A href="mailto:caiopato@gmail.com">caiopato@gmail.com</A>&gt;</DIV>
<DIV>Para: "Fernando - NextBilling IP Solutions" &lt;<A href="mailto:asterisk@nextbilling.com.br">asterisk@nextbilling.com.br</A>&gt;; "asteriskbrasil" &lt;<A href="mailto:asteriskbrasil@listas.asteriskbrasil.org">asteriskbrasil@listas.asteriskbrasil.org</A>&gt;</DIV>
<DIV>Enviado(s): 12/04/2015 08:41:39</DIV>
<DIV>Assunto: Re: [AsteriskBrasil] Receber SMS Goip e enviar para e-mail</DIV>
<DIV>&nbsp;</DIV>
<DIV id=x640488908e9f434b87d798afd49381c1 class=plain>
<BLOCKQUOTE class=cite2 cite=CAA8kTQAfrgoyM2rRezukRs3Ai9wVzgzxLnsPP2GHBwEELou-=A@mail.gmail.com type="cite">
<DIV>2015-04-12 1:02 GMT-03:00 Fernando - NextBilling IP Solutions </DIV>
<DIV>&lt;<A href="mailto:asterisk@nextbilling.com.br">asterisk@nextbilling.com.br</A>&gt;: </DIV>
<BLOCKQUOTE class=cite type="cite">
<DIV>&nbsp;Da uma olhadinha no link <A href="http://www.dbltek.com/pdf/GOIP_SMS_Server_English_Manual.pdf">http://www.dbltek.com/pdf/GOIP_SMS_Server_English_Manual.pdf</A> </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;Nele você vai ver como instalar o goip sms server, ou seja, a interface que vai vai numa vhost e permite o gerenciamento de SMS. </DIV>
<DIV>&nbsp;Imagino que para fazer o que você precisa, você terá que utilizar o goip_daemon, um app "muito mal" desenvolvido por eles que integra API do GW com a interface web deles. </DIV>
<DIV>&nbsp;Esse daemon fala diretamente com o GoIP, via UDP, e a parte boa, é que você configura o seu GW para falar com esse daemon e a partir dai você consegue informações como sinal de cada chip, chamadas recebidas e efetuadas em tempo real, pode enviar SMS para uma porta em especifico, e claro receber SMS dessas portas. </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;Imagino que seja o que você está procurando. </DIV></BLOCKQUOTE>
<DIV>&nbsp;</DIV>
<DIV>Obrigado! Se funcionasse, seria isso mesmo! Mas o software deles é </DIV>
<DIV>realmente muito mal desenvolvido - e traduzido porcamente. Qualquer </DIV>
<DIV>tentativa está retornando "Cannot get response from process named </DIV>
<DIV>"goipcron"" </DIV>
<DIV>&nbsp;</DIV>
<DIV>Agora vou tentar descobrir o que está acontecendo de errado (sem </DIV>
<DIV>contar que na última versão do software não tem como colocar o </DIV>
<DIV>IP/porta - tive que alterar o registro no mySQL na mão). </DIV>
<DIV>&nbsp;</DIV>
<DIV>Apenas para fins de histórico na lista, o link para a versão mais </DIV>
<DIV>atualizada do manual está em: </DIV>
<DIV><A href="http://www.hybertone.com/uploadfile/download/20110412230627598.pdf">http://www.hybertone.com/uploadfile/download/20110412230627598.pdf</A> </DIV>
<DIV>obtido via </DIV>
<DIV><A href="http://www.hybertone.com/en/download3.asp?TId=72">http://www.hybertone.com/en/download3.asp?TId=72</A> </DIV></BLOCKQUOTE></DIV></BODY></HTML>