Please help as per below;

---------- Forwarded message ----------
From: christopher serumola <serumo...@gmail.com>
Date: Thu, Sep 22, 2011 at 11:37 PM
Subject: Re: php Wap push help
To: Juan Nin <jua...@gmail.com>


Thanks Juan. I did replace the portion you referred to below with the code
you provided below but i am still getting the same result. Maybe there is
something else beyond this. I pass the following url to the firefox browser
to execute the wappush script, http://localhost:8080/wappush.php. Port 8080
is the ppg-port. Strangely,immediately after getting the error message, when
i change the php script name to any other name e.g to wap.php i still get
the same error from the browser even though wap.php script does not exist in
my webserver. In this case i expect it to return a "Page not found" error.

I have also used the non-ppg script you suggested below but it returns a
blank page and the message is not delivered to the mobile phone. Even when i
view its page source it is blank. This one i ran it directly on port
80(default) i.e http://localhost/testwap.php. Any ideas?


On Thu, Sep 22, 2011 at 3:12 AM, Juan Nin <jua...@gmail.com> wrote:

>  The only differences I see are on this part, this is your code:
>
>
> '<push-message push-id="'.$wap_push_id.'">'."\r\n\t".
> '<address address-value=
> "WAPPUSH=+'.$country_code.$phone.'/TYPE=p...@ppg.nokia.com"<WAPPUSH=+%27.$country_code.$phone.%27/TYPE=p...@ppg.nokia.com>
> />'."\r\n\t".
> '<quality-of-service delivery-method="unconfirmed" network-required="true"
> network="GSM" bearer-required="true" bearer="SMS"/>'.
> "\r\n</push-message>\r\n".
> "</pap>\r\n\r\n".
>
> This is my original code:
>
> '<push-message push-id="'.$wap_push_id.'">'."\r\n".
> '<address
> address-value="WAPPUSH=+'.$country_code.$phone.'/TYPE=PLMN@xxxxxxxxxxxxx"/>'."\r\n".
>
> '<quality-of-service delivery-method="unconfirmed" network="GSM"
> bearer="SMS"/>'.
>
> "</push-message>\r\n".
> "</pap>\r\n\r\n".
>
> On the first 2 lines you added a \t, not sure if that would affect, don't
> think so, but I had a hard time getting my original code to work, since PPG
> was very picky about the line breaks and line feeds
>
> On the third line you added network-required="true" and
> bearer-required="true", I guess you checked those are valid options
>
> On the 4th line you added a \r\n at the beginning, although it would make
> sense for that one to go, it may be the one breaking the thing.
> As I mentioned, I spent lots of time tweaking line breaks and line feeds,
> cause a missing one or an extra one would break it.
>
> So, I would start by taking out that extra \r\n from the 4th line.
> If that doesn't make it, I would take out the \t's
> And if that doesn't make it, take out the attributes you added.
>
> Another approach is to send wap push without PPG, via sendsms cgi, which is
> much easier and you avoid running an extra service.
> See here: http://www.blogalex.com/archives/12
>
> On this article you can find what each hexadecimal value on the resultant
> message means, and you can even do a more complete version:
>
> http://mobiforge.com/developing/story/binary-sms-sending-rich-content-devices-using-sms
>
> I'm currently using Alex's approach with something similar to this
> (simplified code below):
>
> $udh  = '%06%05%04%0B%84%23%F0';
> $text = '%1B%06%01%AE%02%05%6A%00%45%C6%0C%03'.hexEncode($url, '%').
>              '%00%11%03'.hexEncode($si_id,
> '%').'%00%07%01%03'.hexEncode($subject, '%').'%00%01%01';
>
>
> Hope this helps.
>
>
>
> On 9/21/11 3:02 AM, christopher serumola wrote:
>
> Yes, these are single lines on the php script. Its only that i use a dell
> mini netbook with a small screen size which tends to wrap the text to the
> next line when it is long. could that be the cause of the problem?
>
> On Tue, Sep 20, 2011 at 11:16 PM, Juan Nin <jua...@gmail.com> wrote:
>
>> Do you have these lines that on your email look like more than 1 line each
>> as 1 line or more than 1 line? (should be 1)
>>
>>
>>  '<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP
>> 1.0//EN"'."\r\n".
>>
>>
>>  '<address address-value="WAPPUSH=
>> +'.$country_code.$phone.'/TYPE=p...@ppg.nokia.com"/>'."\r\n\t".
>>
>>
>> '<quality-of-service delivery-method="unconfirmed"
>> network-required="true" network="GSM" bearer-required="true"
>> bearer="SMS"/>'.
>>
>>
>>  '<?xml version="1.0"?>'."\r\n".
>>                '<!DOCTYPE si PUBLIC "-//WAPFORUM//DTD SI 1.0//EN"'."\r
>> \n".
>>
>>
>>  '<indication action="signal-high" si-id="'.$wap_push_id.'" href="'.
>> $push_url .'">'.$text.'</indication>'."\r\n".
>>
>>
>>  "X-Kannel-SMSC: $smsc_id\r\n".'Content-Type: multipart/related;
>> boundary=multipart-boundary; type="application/xml"'."\r\n".
>>
>>
>>
>>  On 9/20/11 4:38 PM, chris wrote:
>>
>>> I have installed kannel 1.5.0 on ubuntu 10.0.4 and configured
>>> bearerbox,smsbox and wapbox. All are working well except that i can't
>>> send wap pushes through ppg from the php sample script posted in the
>>> mailing lists named "wappush.conf". i have checked all the related
>>> postings on the matter and implemented the suggestions without
>>> success.So i need help. The error message i get from the browser is;
>>>
>>> This XML file does not appear to have any style information associated
>>> with it. The document tree is shown below.
>>>
>>> -
>>> <pap>
>>> <badmessage-response code="2000" desc="Not understood due to malformed
>>> syntax" bad-message-fragment="No MIME content"/>
>>> </pap>
>>>
>>> The wappush.php script(with corrected line feeds and indentation) used
>>> is as below;
>>>
>>> <?php
>>> $country_code = 'xxx';
>>> $phone = 'xxxxxxxx';
>>> $push_url = "http://m.yahoo.com";;
>>> $text = 'Test yahoo wap';
>>> $smsc_id  = 'mysmsc-id';
>>>
>>> $out = send_wap_push($smsc_id, $country_code, $phone, $push_url,
>>> $text);
>>> echo $out;
>>>
>>> function send_wap_push($smsc_id, $country_code, $phone, $push_url,
>>> $text)
>>> {
>>>        $host = 'localhost';
>>>        $port = '8080';
>>>        $url  =  "http://$host:$port";;
>>>
>>>        $ppg_user = 'push';
>>>        $ppg_pass = 'push';
>>>
>>> $wap_push_id = get_rand_numbers(5);
>>> $body = "--multipart-boundary\r\n".
>>>                "Content-type: application/xml\r\n\r\n".
>>>                '<?xml version="1.0"?>'."\r\n".
>>>                 '<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP
>>> 1.0//EN"'."\r\n".
>>>                '"http://www.wapforum.org/DTD/pap_1.0.dtd";>'."\r\n".
>>>                '<pap>'."\r\n".
>>>                '<push-message push-id="'.$wap_push_id.'">'."\r\n\t".
>>>                '<address address-value="WAPPUSH=
>>> +'.$country_code.$phone.'/TYPE=p...@ppg.nokia.com"/>'."\r\n\t".
>>>                '<quality-of-service delivery-method="unconfirmed"
>>> network-required="true" network="GSM" bearer-required="true"
>>> bearer="SMS"/>'.
>>>                "\r\n</push-message>\r\n".
>>>                "</pap>\r\n\r\n".
>>>                "--multipart-boundary\r\n".
>>>                "Content-type: text/vnd.wap.si\r\n\r\n".
>>>                '<?xml version="1.0"?>'."\r\n".
>>>                 '<!DOCTYPE si PUBLIC "-//WAPFORUM//DTD SI 1.0//EN"'."\r
>>> \n".
>>>                '"http://www.wapforum.org/DTD/si.dtd";>'."\r\n".
>>>                "<si>\r\n".
>>>                '<indication action="signal-high" si-id="'.$wap_push_id.'"
>>> href="'.
>>> $push_url .'">'.$text.'</indication>'."\r\n".
>>>                "</si>\r\n"."--multipart-boundary--\r\n";
>>>
>>>        $post = "POST /wappush.php HTTP/1.1\r\n"."Host: $host:$port\r\n".
>>>                "Authorization: Basic
>>> ".base64_encode("$ppg_user:$ppg_pass")."\r\n".
>>>                "X-Kannel-SMSC: $smsc_id\r\n".'Content-Type:
>>> multipart/related;
>>> boundary=multipart-boundary; type="application/xml"'."\r\n".
>>>                "Content-Length: ".strlen($body)."\r\n"."\r\n".$body;
>>>
>>>        $ch = curl_init();
>>>        curl_setopt ($ch, CURLOPT_URL, $url);
>>>        curl_setopt($ch, CURLOPT_HEADER, 1);
>>>        curl_setopt($ch, CURLOPT_TIMEOUT, 15);
>>>        curl_setopt ($ch,CURLOPT_CUSTOMREQUEST , $post);
>>>        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
>>>        $reply = curl_exec($ch);
>>>        curl_close ($ch);
>>>        return $reply;
>>> //print_r($post.$body);
>>> }
>>>
>>> function assign_rand_value($num)
>>> {
>>> // accepts 1 - 36
>>>   switch($num)
>>>   {
>>>     case "1":
>>>      $rand_value = "a";
>>>     break;
>>>     case "2":
>>>      $rand_value = "b";
>>>     break;
>>>     case "3":
>>>      $rand_value = "c";
>>>     break;
>>>     case "4":
>>>      $rand_value = "d";
>>>     break;
>>>     case "5":
>>>      $rand_value = "e";
>>>     break;
>>>     case "6":
>>>      $rand_value = "f";
>>>     break;
>>>     case "7":
>>>      $rand_value = "g";
>>>     break;
>>>     case "8":
>>>      $rand_value = "h";
>>>     break;
>>>     case "9":
>>>      $rand_value = "i";
>>>     break;
>>>     case "10":
>>>      $rand_value = "j";
>>>     break;
>>>     case "11":
>>>      $rand_value = "k";
>>>     break;
>>>     case "12":
>>>      $rand_value = "l";
>>>     break;
>>>     case "13":
>>>      $rand_value = "m";
>>>     break;
>>>     case "14":
>>>      $rand_value = "n";
>>>     break;
>>>     case "15":
>>>      $rand_value = "o";
>>>     break;
>>>     case "16":
>>>      $rand_value = "p";
>>>     break;
>>>     case "17":
>>>      $rand_value = "q";
>>>     break;
>>>     case "18":
>>>      $rand_value = "r";
>>>     break;
>>>     case "19":
>>>      $rand_value = "s";
>>>     break;
>>>     case "20":
>>>      $rand_value = "t";
>>>     break;
>>>     case "21":
>>>      $rand_value = "u";
>>>     break;
>>>     case "22":
>>>      $rand_value = "v";
>>>     break;
>>>     case "23":
>>>      $rand_value = "w";
>>>     break;
>>>     case "24":
>>>      $rand_value = "x";
>>>     break;
>>>     case "25":
>>>      $rand_value = "y";
>>>     break;
>>>     case "26":
>>>      $rand_value = "z";
>>>     break;
>>>     case "27":
>>>      $rand_value = "0";
>>>     break;
>>>     case "28":
>>>      $rand_value = "1";
>>>     break;
>>>     case "29":
>>>      $rand_value = "2";
>>>     break;
>>>     case "30":
>>>      $rand_value = "3";
>>>     break;
>>>     case "31":
>>>      $rand_value = "4";
>>>     break;
>>>     case "32":
>>>      $rand_value = "5";
>>>     break;
>>>     case "33":
>>>      $rand_value = "6";
>>>     break;
>>>     case "34":
>>>      $rand_value = "7";
>>>     break;
>>>     case "35":
>>>      $rand_value = "8";
>>>     break;
>>>     case "36":
>>>      $rand_value = "9";
>>>     break;
>>>   }
>>> return $rand_value;
>>> }
>>>
>>> function get_rand_numbers($length)
>>> {
>>>   if($length>0)
>>>   {
>>>   $rand_id="";
>>>    for($i=1; $i<=$length; $i++)
>>>    {
>>>    mt_srand((double)microtime() * 1000000);
>>>    $num = mt_rand(27,36);
>>>    $rand_id .= assign_rand_value($num);
>>>    }
>>>   }
>>> return $rand_id;
>>> }
>>>
>>> ?>
>>>
>>> and from the wap log file;
>>>
>>> 2011-09-20 21:02:23 [1833] [14] INFO: PPG: Accept request</wappush.php>
>>> from<127.0.0.1>
>>> 2011-09-20 21:02:23 [1833] [14] WARNING: PPG: No MIME content received,
>>> the request unacceptable
>>> 2011-09-20 21:02:23 [1833] [14] DEBUG: PPG: send_bad_message_response:
>>> telling pi
>>> 2011-09-20 21:02:23 [1833] [14] DEBUG: HTTP: Resetting HTTPClient for
>>> `127.0.0.1'.
>>> 2011-09-20 21:02:23 [1833] [11] DEBUG: HTTP: Creating HTTPClient for
>>> `127.0.0.1'.
>>> 2011-09-20 21:02:23 [1833] [11] DEBUG: HTTP: Created HTTPClient area
>>> 0x99ec880.
>>> 2011-09-20 21:02:24 [1833] [14] ERROR: Request</favicon.ico>  from
>>> <127.0.0.1>: service not found
>>> 2011-09-20 21:02:24 [1833] [14] DEBUG: your configuration
>>> uses /wappush.php
>>> 2011-09-20 21:02:24 [1833] [14] DEBUG: HTTP: Resetting HTTPClient for
>>> `127.0.0.1'.
>>> 2011-09-20 21:03:23 [1833] [10] DEBUG: HTTP: Destroying HTTPClient area
>>> 0x99ec880.
>>> 2011-09-20 21:03:23 [1833] [10] DEBUG: HTTP: Destroying HTTPClient for
>>> `127.0.0.1'.
>>>
>>> and my kannel configuration file;
>>>
>>> group = core
>>> admin-port = 13050
>>> smsbox-port = 13051
>>> wapbox-port= 13052
>>> admin-password= chris
>>> dlr-storage = mysql
>>> wdp-interface-name="*"
>>> log-file = "/var/log/kannel/bearerbox.log"
>>> log-level=0
>>> box-deny-ip = "*.*.*.*"
>>> box-allow-ip = "127.0.0.1"
>>>
>>> group=smsc
>>> smsc-id=mysmsc-id
>>> port=13053
>>> smsc=at
>>> modemtype=huawei
>>> device=/dev/ttyUSB0
>>> #speed=115200
>>> my-number=xxxxxxxxxx
>>> validityperiod=167
>>> pin=7172
>>> sim-buffering=true
>>> #keepalive=5
>>> sms-center=+xxxxxxxxxx
>>>
>>> group=modems
>>> id=huawei
>>> name="huawei E230"
>>> detect-string="huawei"
>>> init-string="ATZ"
>>> init-string="AT+CNMI=2,1,2,2,0"
>>> enable-hwhs=false
>>> message-storage=SM
>>> message-start=0
>>> #speed=115200
>>>
>>> group=smsbox
>>> #smsbox-id=smsbox1
>>> bearerbox-host=127.0.0.1
>>> sendsms-port=13054
>>> global-sender=xxxxxxxxxxx
>>> sendsms-chars="0123456789+-"
>>> log-file = "/var/log/kannel/smsbox.log"
>>> log-level=0
>>>
>>> group=sendsms-user
>>> username=kannel
>>> password=kannel
>>> concatenation=true
>>> max-messages=10
>>>
>>> #Receive MO sms and direct to specified url
>>> group=sms-service
>>> keyword=default
>>> get-url="http://localhost/receivesms.php?sender=%p&text=%b";
>>> #accept-x-kannel-headers=true
>>> #accepted-smsc=smsbox1
>>> max-messages=1
>>> catch-all=true
>>>
>>> #Set up wap pushes
>>> group=wapbox
>>> bearerbox-host=127.0.0.1
>>> log-file = "/var/log/kannel/wapbox.log"
>>> access-log="/var/log/kannel/wapacess.log"
>>> log-level=0
>>> syslog-level=none
>>>
>>> group=ppg
>>> ppg-url=/wappush.php
>>> ppg-port=8080
>>> concurrent-pushes=100
>>> global-sender="xxxxxxxxxxx"
>>> users=1024
>>> ppg-allow-ip="127.0.0.1"
>>> trusted-pi=true
>>>
>>> group=wap-push-user
>>> wap-push-user=wappusher
>>> ppg-username=push
>>> ppg-password=push
>>> allow-ip="*.*.*.*"
>>>
>>> #Use mysql database for storing delivery reports for MT sms
>>> group=mysql-connection
>>> id=mydlr
>>> host=localhost
>>> username=root
>>> password=xxxxxxxx
>>> database=dlr
>>> max-connections=1
>>>
>>> group=dlr-db
>>> id=mydlr
>>> table=dlr
>>> field-smsc=smsc
>>> field-timestamp=ts
>>> field-destination=destination
>>> field-source=source
>>> field-service=service
>>> field-url=url
>>> field-mask=mask
>>> field-status=status
>>> field-boxc-id=boxc
>>>
>>> #group = sqlbox
>>> #id = sqlbox-db
>>> #smsbox-id = smsbox
>>> #bearerbox-host = 127.0.0.1
>>> #bearerbox-port = 13003
>>> #smsbox-port = 13005
>>> #log-file = "/var/log/kannel/sqlbox.log"
>>> #log-level = 0
>>>
>>> # Example MYSQL Connection
>>> #group = mysql-connection
>>> #id = sqlbox-db
>>> #host = localhost
>>> #username = root
>>> #password = xxxxxxxx
>>> #database = dlr
>>>
>>> i would really appreciate as comprehensive help as possible.
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
>

Reply via email to