I have solved the problem below by following instructions given in the PPG
mini howto http://article.gmane.org/gmane.comp.mobile.kannel.user/11009 and
used http://localhost/wappush.php instead of
http://localhost:8080/wappush.php.

Thanks a lot!

On Fri, Sep 23, 2011 at 5:27 PM, christopher serumola
<serumo...@gmail.com>wrote:

> 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