<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SAPLogix.net Official Blog</title>
	<atom:link href="http://saplogix.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://saplogix.net/blog</link>
	<description>Research &#38; Development</description>
	<lastBuildDate>Wed, 23 Jun 2010 09:20:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Now can jailbreak and unlock any iPhone, even the latest OS</title>
		<link>http://saplogix.net/blog/?p=93</link>
		<comments>http://saplogix.net/blog/?p=93#comments</comments>
		<pubDate>Wed, 23 Jun 2010 09:20:48 +0000</pubDate>
		<dc:creator>sapdcc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://saplogix.net/blog/?p=93</guid>
		<description><![CDATA[Thanks to iPhone Dev Team with the help of some extraordinary developers that made it possible.
Please visit the iPhone Dev Team website for complete story and updates.
]]></description>
			<content:encoded><![CDATA[<p>Thanks to iPhone Dev Team with the help of some extraordinary developers that made it possible.</p>
<p>Please visit the iPhone Dev Team website for complete story and updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://saplogix.net/blog/?feed=rss2&amp;p=93</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP E-Learning Maps</title>
		<link>http://saplogix.net/blog/?p=83</link>
		<comments>http://saplogix.net/blog/?p=83#comments</comments>
		<pubDate>Wed, 03 Feb 2010 01:21:08 +0000</pubDate>
		<dc:creator>ellahikamran</dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[ABAP]]></category>
		<category><![CDATA[E-Learning]]></category>
		<category><![CDATA[SAP Upgrade]]></category>
		<category><![CDATA[SOLMAN]]></category>
		<category><![CDATA[Solution Manager]]></category>

		<guid isPermaLink="false">http://saplogix.net/blog/?p=83</guid>
		<description><![CDATA[Stay Innovative With (SAP E-Learning Maps)
Introduction
The key to running a successful and productive organization is letting the employees know what you want them to do and how to do it. Most of the time this comes with your job description and on the job training, but this is not as simple as it sounds. This [...]]]></description>
			<content:encoded><![CDATA[<h1>Stay Innovative With (SAP E-Learning Maps)</h1>
<h2>Introduction</h2>
<p>The key to running a successful and productive organization is letting the employees know what you want them to do and how to do it. Most of the time this comes with your job description and on the job training, but this is not as simple as it sounds. This requires ample amount of time and effort being dedicated by the organization on the employee to make him fit for their environment. This effort comes through by trainings, learning materials, conducting seminars and so on. Knowing your role within an organization and best of all knowing how to perform the activities of this role leads to improved productivity and in turn a successful organization</p>
<p>Now lets put this all together in perspective of a ERP system like SAP, in which a business transaction screen e.g. Purchase Requisition looks like a galaxy of text fields and buttons, seeing this makes employee think that they should have asked for more KUANS ($$$$), and to top it all off the person who presented the requirements for configuration of this screen has resigned from the company, need not to worry we (<em>the organization</em>) had documented it all. But where are these learning material/training documents, a file cabinets, a file server, shared resource or on a local PC, which version do I use and etc. The possibilities of you never finding the document on time are limit less .SAP has realized this dilemma of managing and preparing the learning material and have come up with solution of E- Learning maps which is part of their SAP Solution Manager. The scope of my article is present to you some of the highlight the motivations of using this tool and also to provide you with the steps of how to go about preparing an E-Learning material and the distribution of these material with SAP Solution Manager 3.2.</p>
<h2>The Process Flow</h2>
<p>1. Develop a project or solution In SAP Solution Manager. For the project or solution we will associate training or learning documents with Business scenarios, processes and with process steps</p>
<p>2. The types of learning materials that can be area SIM tutorial, document created in SAP word editor or a URL to a website or etc.</p>
<p>3. Learning units are created from the project structure and its assigned learning material, and generate Learning Maps in HTML format, in the transaction <em>Learning Maps Management</em>.</p>
<p>4. Send a link to the learning map to end user.</p>
<p>5. The end users assess the learning units and the learning map and work through the learning units on their own.</p>
<p>6. Analyze the end user assessments.</p>
<h2>Creating a Project</h2>
<p>For E-Learning MAP’s to execute you need to have a project setup in your solution manager. The project configuration and management in SAP Solution Manager  is a complete series of article in it self which I would be presenting in the future publications but to get you giong on SAP E-Learning MAPS you I would present some baisc informatioan on setting up the project. Before going into configuring the project there are some pre-requisites that need to be meet</p>
<ol>
<li>You      Solution Landscape is configured in SAP Solution manager, e.g. Transaction      SMSY. This is a configuration activity usually performed by the BASIS      Administrator while setting up SAP Solution Manager.</li>
<li>You      should have authorization to roles , the
<ol>
<li>SAP       _SOL_TRAINING_EDIT <em>(as in Solution Manager 3.2 SP9)</em></li>
<li>SAP_SOLAR_PM       <em>(as in Solution Manager 3.2 SP9)</em></li>
<li>SAP_SUPPDESK_PROCESS_PM       <em>(as in Solution Manager 3.2 SP9)</em></li>
</ol>
</li>
</ol>
<p>After checking these pre-requisite items you can proceed to creating a project by going through these steps,</p>
<ol>
<li>Logon      to your SAP Solution Manager.</li>
<li>From      you SAP Easy Access menu path go to Tools-&gt;SAP Solution Manager-&gt;      Project Administration (<em>T-Code:Solar_Project_Admin</em>).</li>
</ol>
<p>Figure 1: SAP Easy Menu Path To Project Administration</p>
<ol>
<li>From      the Project Administration Screen , file menu select Project-&gt;Create</li>
</ol>
<p>Figure 2: Create Project from SAP Project Administration Screen</p>
<ol>
<li>In the      create project window, enter project name, type and from the drop down      list select your sap system landscape and click on the green tick. Now you      would be asking what are the different types of projects in Solution      Manager , so as in Solution Manager 3.2 there are 6 different project      types</li>
</ol>
<ol>
<li><strong>a. </strong><strong>Implementation Project </strong></li>
</ol>
<p>A new project structure to implement a business processes in an SAP landscape.</p>
<ol>
<li><strong>b. </strong><strong>Upgrade Project</strong></li>
</ol>
<p>A project to upgrade existing systems .In an upgrade project you can: Upgrade customizing: Upgrade existing functions and/or Delta customizing: Copy additional functions</p>
<ol>
<li><strong>c. </strong><strong>Maintenance Project</strong></li>
</ol>
<p>A project for maintaining the SAP solution with Change Request Management, the project contains all maintenance activities and urgent corrections of a solution.</p>
<ol>
<li><strong>d. </strong><strong>Optimization Project</strong></li>
</ol>
<p>A project to optimize the flow of business processes or the use of a software solution you can use optimization projects, for example, in SAP Services.</p>
<ol>
<li><strong>e. </strong><strong>Safeguarding Project</strong></li>
</ol>
<p>Safeguarding projects show the reasons for a critical situation and coordinate the steps required to resolve the problems.</p>
<ol>
<li><strong>f. </strong><strong>Template Project </strong></li>
</ol>
<p>A template makes your project structure, or parts of it, with its assigned objects (documentation, test cases, IMG activities), available to other projects. You can lock templates, completely or partially, against changes when they are used in other projects. To use templates in other systems, transport them. Template projects are especially suited to SAP partner solutions or global rollout.</p>
<p>Figure 3: Create Project Initial Screen.</p>
<ol>
<li>Now in      the project change screen you need to maintain the “General Data”.
<ol>
<li>Enter       project Title “E-Learning Implementation Project “</li>
<li>Person       Reponsible Customer and Consultant e.g “SOLMAN”</li>
<li>Project       Language e.g. “English”</li>
<li>Project       Status e.g. “Open”</li>
<li>Plan       Start Date e.g. “10.07.2006”</li>
</ol>
</li>
</ol>
<p>Figure 4: Maintaining General Project Data</p>
<ol>
<li>From      the file menu select Implementation Project-&gt;Save.If your project type      would be Maintenance Project then it file menu would be Maintenance      Project-&gt;Save and similarly for other project types .</li>
<li>Now this      is all that you need to get going as far as project administration is      concerned for E-Learning.</li>
</ol>
<h2>Learning Material For Your Project</h2>
<p>In the true scenario you assign you learing material to your project structures e.g. Business Scenario,Business Processes and etc. But since we have just setup those project attributes to demonstrate the functionality of SAP E-Learning MAPS , I would just be adding all the project documents on the project root by following these steps,</p>
<ol>
<li>From      you SAP Easy Access menu path go to<br />
Tools-&gt;SAP Solution Manager-&gt;Configuartion (<em>T-Code: SOLAR02</em>).</li>
</ol>
<p>Figure 5: E-Learning Configuration</p>
<ol>
<li>In the      Configuration change window goto File menu Configuration-&gt;Other      Projects and then select your projects and press green tick as shown in      figure 6.</li>
</ol>
<p>Figure 6: Selecting a project for E-Learning Documents</p>
<ol>
<li>In the      project, select the root folder e.g. “E-Learning Implementation Project” and      from the right pane select the “Training Materials” tab as shown in figure      7.</li>
</ol>
<p>Figure 7: Switching to Project training tab.</p>
<ol>
<li>Now      from the “Training Material” tab press the “Insert Document” button as      shown in figure 8.</li>
<li>In the      popup window “Add Document “ as shown in figure 8 you would enter the      title e.g. “Introduction to E-Learning Management”.</li>
<li>Now      there are 3 option in “Add Document” window that needs explaining
<ol>
<li>Document       Type: Identifies which document       template is called, depending on the document type. You can only use       document types that either have a document template or a file name       extension supported by the SAP Solution Manager. If a document type has       no template or file name extension, the text editor is started.</li>
<li>Status       : Defines the processing state of the document.Only released documents       can be published using E-Learning Maps.</li>
<li>Lastly       there are 5 document insertion types which are self explainatory e.g.       Create New Document ,Link an existing Solution Manager Document,Copy a       Solution Manager Document, Upload a document  and Web Link.</li>
</ol>
</li>
</ol>
<p>Figure 8: Insert document popup screen.</p>
<ol>
<li>For      this article we are just going to upload a documet to our project so,      select the upload option and press the green tick.</li>
<li>In the      file selection screen select your upload file and press “Open” as shown in      figure 9.</li>
</ol>
<p>Figure 9: Upload document popup screen.</p>
<ol>
<li>The      document is attached to you project , select the document and press change      as shown in figure 10 to change the contents as well as the status of the      document. Since the attached document is in MS Word (.doc) format sap      would open the MS Word editor available on your PC to change this      document.</li>
</ol>
<p>Figure 10 : Change upload document status/contents</p>
<ol>
<li>In the      change window select status “Released” and press “Save Document” to make      the document available for publishing as shown in figure 11.</li>
</ol>
<p>Figure 11: Change document status.</p>
<ol>
<li>Now      you have sucessfully attached a document to your project, you can repeat      the process to attach as many documents as you require.</li>
</ol>
<p>We now have to distribute these documents to the end user for utilization, this is called Learning Maps which is explained in the next step.</p>
<h2>Publishing Learning Material ( E-Learning MAPS).</h2>
<p>You have previusly assigned the learning material to your project which you now need to publish for your end users training purposes.This is possible by creating a learning map (HTML format) for your end user based either on the project or production processing. In order to create learning map you need to execute the following steps,</p>
<ol>
<li>From      you SAP menu goto Tools-&gt;Solution Manager-&gt;Solar_Learning_Maps, as      shown in figure 12.</li>
</ol>
<p>Figure 12: Sap menu path For Learning Maps</p>
<ol>
<li>On the      learning map screen press the create button to create a new learing map      for your project as show in figure 13.</li>
</ol>
<p>Figure 13. Create learning maps.</p>
<ol>
<li>In the      create learning map popup window enter the Title for your learning map e.g.      “E-Learning Online Training” and select the project for which you need      develop the learning map e.g. “ZELP” as show in figure 14. Press green      tick to create the project.</li>
</ol>
<p>Figure 14: Create learning map popup screen</p>
<ol>
<li>Now in      the create learning maps screen woul d open with a basic structure of your      learning map as shown in figure 15. The structure of a learning map      comprises of a HEADER element which explains the entire scope of the      learning matrial, a CHAPER element which is the logical grouping of      documents ,a then the UNIT a container that actually hodls the documents.      On each element you have to maintain a “Title” and “Description” . HEADER      element  can only hold links and      logos where as a CHAPTER element can only contain UNIT elements which in      turn can hold the actual learning documents.</li>
</ol>
<p>Figure 15:  Learning map strcuture overview</p>
<ol>
<li>In the      Change Learning Map window from the left pane select the Learning Map      Header node and enter description of the learning map as shown in figure 16</li>
</ol>
<p>Figure 16: Maintaing Learning Map header description</p>
<ol>
<li>Righ      click the Learning Map Header node and select either the Create Header      Link, Create Logo or Create Support Link option and in the right pane      enter the Title and URL e.g. “SAP       Help” and “<a href="http://help.sap.com/">http://help.sap.com</a>”      as shown in figure 17.</li>
</ol>
<p>Figure 17: Maintaining learning map header items e.g. link and logo.</p>
<ol>
<li>After      maintain the header node select the Chapter nodes and enter the Title and      Description to maintain a logical structure of your training material, as      show in figure 18.</li>
</ol>
<p>Figure 18: Maintaining Chapter title and description</p>
<ol>
<li>Similalrly      maintain all the chapter e.g. Introduction,Project Administration and      Learning Maps.If you need to add more chapter right click on the learing      map root node and select “Create Chapter” option as shown in figure 19.</li>
</ol>
<p>Figure 19: Creating new Chapter for a learning map structure</p>
<ol>
<li>Now to      expand the any chapter and maintain the Unit element e.g.      Introduction-&gt; Unit1.Enter the Title and Description as shown in figure      20.</li>
</ol>
<p>Figure 20: Maintaining Unit element title and description</p>
<ol>
<li>Similalrly      perform these steps on all chapters and if you need to add more units to a      chapter simply right click the chpater node and select the Create Unit      option as show in figure 21.</li>
</ol>
<p>Figure 21: Creating new unit element in a chapter</p>
<ol>
<li>Now as      we mentioned earlier that learning documents can only be attached to a      Unit element.To perform this select a unit element e.g. Introduction &#8211;      &gt; Introduction and Process Flow and from the right pane window select      the List Display option as shown in figure 22. This would list all the      learning documents that were attached to you project e.g ZELP which you      now want to distrbute to the end users.</li>
</ol>
<p>Figure 22: Changing project structure view.</p>
<ol>
<li>From      the document list select a document and press the “Assign Document” button      to attach the document to the Unit element, as shown in figre 23.</li>
</ol>
<p>Figure 23: Assigning document to Unit element of a Chapter</p>
<ol>
<li>After      attaching all the document go to menu “Learning MAP”-&gt; Save, as shown      in figure 24.</li>
<li></li>
</ol>
<p>Figure 24: Saving E-Learning Map</p>
<ol>
<li>You      have now completed the development of your learning maps and is now ready      for distribution to the end use . To distruibute the learning map to the      users simply press the Send to Users button as shown in figure 25.</li>
</ol>
<p>Figure 25 : Send Learning Map to End Users.</p>
<ol>
<li>In the      popup window “Learning Map Deployement” select the “Create Email and Copy      Text to Clip Board Button “ as shown in figure 26.</li>
</ol>
<p>Figure 26:  Creating e-mail with learning map link.</p>
<ol>
<li> This action would open you local email      composer with a web link to the Learning, as shown in figure 27, Press Send      to email the web link of the learning map to your users.</li>
</ol>
<p>Figure 27: Using email application to send web link of E-Learning Map to end users</p>
<h2>Conclusion</h2>
<p>In the above steps we have gone through the procedure of developing a E-Learning material using SAP Solution manager 3.2 .</p>
]]></content:encoded>
			<wfw:commentRss>http://saplogix.net/blog/?feed=rss2&amp;p=83</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SAP Upgrade</title>
		<link>http://saplogix.net/blog/?p=77</link>
		<comments>http://saplogix.net/blog/?p=77#comments</comments>
		<pubDate>Wed, 03 Feb 2010 01:15:46 +0000</pubDate>
		<dc:creator>ellahikamran</dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[4.6c]]></category>
		<category><![CDATA[ABAP]]></category>
		<category><![CDATA[ECC]]></category>
		<category><![CDATA[SAP Upgrade]]></category>
		<category><![CDATA[SOLMAN]]></category>
		<category><![CDATA[Solution Manager]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Upgrade]]></category>

		<guid isPermaLink="false">http://saplogix.net/blog/?p=77</guid>
		<description><![CDATA[Back to the Future (SAP Upgrade)
Introduction
I am married for 5 years now and I ask myself should I go for an upgrade of my marriage, Bham!!!. The subject of upgrade knocks me out. Just thing of going for an upgrade gives me a black eye and a severe headache for weeks.
Reason? Several! What is wrong [...]]]></description>
			<content:encoded><![CDATA[<h1>Back to the Future (SAP Upgrade)</h1>
<h2>Introduction</h2>
<p>I am married for 5 years now and I ask myself should I go for an upgrade of my marriage, Bham!!!. The subject of upgrade knocks me out. Just thing of going for an upgrade gives me a black eye and a severe headache for weeks.</p>
<p>Reason? Several! What is wrong with the existing package? Would I be able to make some improvement with the new package? Have I really learned some thing from my last experience? Is the new package really worth investing the amount of time and money? What would be the amount of change? These are the question which raise doubts in an organizations thought process and help us consultants sustain our jobs.</p>
<p>Buying SAP is similar to getting married after the first days presentation it’s not just the same happy go lucky life that we are promised .But the luxury with SAP is that we can</p>
<p>Upgrade it and get a newer one with all the technological add-ons Haba! Haba!</p>
<p>In this article I am going to present the motivation factor which leads an organization towards and upgrade and also highlight some of the key upgrade project activities which are required for the upgrade project So lets begin the journey</p>
<h2>Upgrading SAP: the motivation Factors</h2>
<p>So let us ask the question that what compels an organization running SAP to upgrade its ERP. The obvious reasons are the need for new functionalities which could cater the companies’ business needs and help them survive and flourish in complex and competitive business environment. Besides achieving the competitive edge over in their business domains their can be other factors that can encourage the organization towards SAP upgrade. Before dueling into those reasons lets just give you a brief on the release strategy for SAP applications which follow a “5-1-2” maintenance concept five years of mainstream maintenance, 1 year of extended maintenance at an additional of 2% of the maintenance fee and finally a  2 years extended maintenance at an additional 4 % fee. And even after that if your still don’t want to let go of the SAP release there is always customer specific maintenance which I think would not be cheap and personally not very encouraging. For more information on this subject you can logon to <a href="http://service.sap.com/maintenance">http://service.sap.com/maintenance</a>.</p>
<p>I am pretty sure that most of the IT decision makers are not aware of his information and</p>
<p>Which is why I am sharing this info with you and to make the readers realize the amount of additional investment they would be making in maintaining the SAP system if they choose not to move a head with the upgrade. I would encourage you to do the math on these numbers considering your SAP installation and I am sure you would be compelled to focus on the upgrade. Enlighten you with this information we get back to the subject matter which is the motivation factors for upgrading the SAP System, here are some of the important ones,</p>
<h3>New Features</h3>
<p>The main reason for upgrading has always been the additional functionality .Every SAP Release brings new features and opportunities. The need for upgrade id mostly driven by business needs which in turns require new functionality in your ERP e.g. empowering your end user by integrating your Email System with SAP, Richer reporting and analytics to make timely and informed business decisions and etc. Now the choice must be made whether to implement and develop the new functionality or to go for an Upgrade. This is what we call a ”solution gap” now here we have to ask us that is the solution gap large enough to justify the SAP Release Upgrade? And since SAP upgrades are a complex task is it worth while investing time money and resource to achieve this solution gap with an SAP Upgrade and finally would our user base and business units support this thought process of SAP Release Upgrade.</p>
<h3>Out of Date Technology</h3>
<p>Your sap system needs to be constant customized and enhanced in order to be able to support the evolving business needs. The time may and will come when the installed release will no longer be able to answer to your needs .Secondly staying on the same release becomes unsustainable from an infrastructure point of view e.g. new server platforms, new operating system, new RDBMS version, new communication and collaboration interfaces.</p>
<h3>Release Support.</h3>
<p>As stressed earlier in the opening paragraph that there is a maintenance limit of every SAP release and the extended support leads to additional cost but this will also cease eventually. At this point there are 2 choices Upgrade or a customer specific maintenance and the later is not very attractive as it implies increased cost for a depleted service level, as SAP no longer provides support packages for release that are out of maintenance. Surprisingly 35% to 40 % of the sap customers are compelled towards SAP upgrade based on this factor which would be either the ending maintenance period for their SAP Release or the additional maintenance cost.</p>
<h2>The Effort</h2>
<p>Testing and End User training represent the major part of the Upgrade Project. The 2 processes take the most amount of time and effort. During the upgrade it is not advisable to implement new feature, modules or applications. The primary focus should remain on the Upgrade task and the new feature should be implemented afterwards in a separate project.</p>
<p>After the upgrade of the development system you need to test all SAP Applications, Custom Developments and integrations to other applications (SAP and non SAP). It is best time to utilize your investment on SAP Solution Manager e-CATT tool (SAPtips Article: The Power of Automated Testing (I &amp;II)).While you resolve the issues arising from the release upgrade the production system is still running in the old release hence a change management procedure need to be set up to support the production system.</p>
<h2>SAP Technical Upgrade: Action Items</h2>
<p>The sap upgrade is not just the technical activity less then 25% of the work goes into th technical are the major portion goes to testing and adopting to the new release as our upgrade would be effecting the business applications and processes. Going into the SAP Upgrade project you must realize the following</p>
<ul>
<li>Every      team member of the SAP Upgrade Project is aware of the Upgrade      Methodology.</li>
<li>You      have SAP Solution Manager installed and running as part of your SAP      Installation.</li>
</ul>
<p>The SAP technical upgrade consists of five major phases</p>
<ol>
<li>Preparing      of the environment</li>
<li>The      Prepare Process</li>
<li>Up      Time of the Upgrade</li>
<li>Down      Time of the Upgrade</li>
<li>Post      Processing Activities</li>
</ol>
<p>Now you must be wondering what actions do need to perform in these phases, so lets go through them one by one</p>
<h3>Preparing the environment:</h3>
<p>Proper preparation of the upgrade is essential with it you run into excessive risk known and preventable problems, upgrade is a time consuming and complex task hence you need to be organized and maintain good documentation of your work. SAP has wide range of Upgrade Service portfolio like Going Live Functional Upgrade Check , SAP Safeguard ,SAP upgrade Hosting , SAP Weekend Support and many more the list is constantly being updated to cover various audiences and scenarios, have a look at the site <a href="http://service.sap.com/upgrade-erp/">http://service.sap.com/upgrade-erp/</a> for latest service listing. I am going to list the key activities that need to be performed in this phase and brief you on some of then</p>
<p><strong>Establish a project plan</strong></p>
<p>After reading some material and putting my experience and my colleges experience on upgrade project we came to a consensus of developing 3 different plans</p>
<ul>
<li>A master plans which reflect a high level view of upgrading all the different SAP system</li>
<li>(development ,acceptance, production) and the satellite system (BW or SCM).</li>
<li>A detailed project plan for each system within the landscape describing the activities needed to be carried out before, during and after the technical upgrade</li>
<li>A detailed project plan describing the technical upgrade itself it contains the action taken during the technical upgrade.</li>
</ul>
<p><strong>Identify human resources, technical and functional</strong></p>
<p>The upgrade project need the commitment support and attention of the management, different teams are needed to bring the project to successful completion example of such teams are; Project Management Team , Technical Upgarde Team, Functional and Domain Experts team .</p>
<p><strong>Evaluate suitability of current hardware</strong></p>
<p>Resource requirement increases with every SAP release for if you have and operational SAP environment this increase is difficult to estimate and depends heavily on SAP modules and business process being used, the number of concurrent users and the amount of business data. Analyzing the current situation is the first step in estimating the load increase, this is why we emphasized earlier on having SAP Solution Manage Up and running before you start thinking of going for an upgrade , apart from providing the analysis on the current system through Early Watch Report , solution manage is also necessary for get the upgrade key from SAP. In addition to this sap also provides some online tool for capacity planning which can be accessed from <a href="http://service.sap.com/quicksizer">http://service.sap.com/quicksizer</a> beside this many performance and tuning transactions exist in sap like DB02; ST03N; STAD; ST04, SM04; ST06 and etc.</p>
<p>Apart from these activities there are some other activities which are to be executed in this phase like Examine software compatibility; Order desired SAP Upgrade Resource;Perform the necessary hardware software (OS,DB,SAP Plugin) upgrade; Obtain the upgrade media and documentation and Clean up the development environment</p>
<h3>The Prepare Phase:</h3>
<p>A technical process that imports the tools required for the upgrade and performs the extensive checks to see whether the system is ready for upgrade. Careful preparation of the upgrade is the best guarantee that it will run with out any errors. The prepare program uses a series of check to support the preparation of the upgrade, it can be used without effecting the productive environment .The advantages of executing PREPARE are,</p>
<ul>
<li>Uses      the same upgrade tool as the upgrade (technically it is the special run      mode of the upgrade program R3up.).</li>
<li>It      displays highlights the object that would appear during the modification      adjustment.</li>
<li>It forecasts      the number of database conversions, space requirements, and request      allocation of additional space if necessary.</li>
<li>It can      be executed while the system is being used for productive purposes.</li>
</ul>
<p>The PREPARE can be broken down into 7 different sub phases as schematically displayed in figure 1.</p>
<p><a href="http://saplogix.net/blog/wp-content/uploads/2010/02/figure1.jpg"><img class="aligncenter size-medium wp-image-78" title="figure1" src="http://saplogix.net/blog/wp-content/uploads/2010/02/figure1-300x161.jpg" alt="" width="300" height="161" /></a></p>
<p><strong>Figure 1: SCHEMATICAL DISPLAY OF PREPARE MODULES</strong></p>
<p>The PREPARE starts from the input phase in which information on the system to be upgrade and key generation activity through solution manger is carried out with some basic consistency checks. In the initialization phase along with some basic checks on the source system the SAP and the database release are verified and the needed space for the upgrade tools is verified. The import phase imports all the tools needed for upgrade into the database and installed in the upgrade directory.</p>
<p>In the extension phase the add-ons, support packages, user modifications, and languages are installed in the source release are integrated into the upgrade. The extension phase is the most important phase in PREPARE as the target release of every SAP component and add-ons is decided. The extension phase lands into the integration phase in which all the support packages , add-ons ,customer modifications and additional transports are integrated into the upgrade. The integration and extension phase are closely related. The installation phase comprises of a shadow instance and shadow schema being created into the database. At this point all the verification tools are used to check the source environment meets the upgrade requirement. The general check module identifies many thing like version of both the system, looks at the locked objects and availability of free space for database, list tables which are not converted, DDIC and repository object with conflicts in the new release and etc.</p>
<p>The luxury we have in the PREPARE is that it can be run and reset any number of times. Before the actual upgrade, but the successful execution of the PREPARE phase would insure a some what some sailing during the upgrade.</p>
<h3>Up Time of the Upgrade:</h3>
<p>This phase calls for activities like</p>
<ul>
<li>Importing      for all new data dictionary objects, programs and languages together with      the latest support packages into the system in a non active stage.</li>
<li>Comparison      of the new data dictionary object with those changed by the customer through      modifications and notes.</li>
<li>Resolution      of data dictionary conflicts.</li>
<li>Activation      of data dictionary still in a special non active stage.</li>
<li>A mass      pre upgrade conversion of large tables (ICNV).</li>
</ul>
<h3>Down Time of the Upgrade:</h3>
<ul>
<li>The      activities performed in this phase are;</li>
<li>Activating      all new repository objects (dictionary and development objects).</li>
<li>Changes      at database level e.g. creation or conversion of tables.</li>
<li>Conversion      program to adopt data into the system according to the changes data model.</li>
<li>Technical      activities e.g. parameter changes etc.</li>
<li>Import      custom modifications to the development objects</li>
<li>Key      user testing</li>
</ul>
<h3>Post Processing:</h3>
<p>Release system to end users Start post production work in the new release.</p>
<p>SAP upgrade to the new release is a tricky part, with this article I have tried to present some of the motivation factor which an organization may need to consider before committing itself into the upgrade project ,these motivation factors can be used by the management to really focus on developing SAP roles in their organizations vision statement and mission .Further more I have highlight some of the key phase and project activities that need to be carried in the SAP upgrade project although I have not gone into details of these phase , the objective was just provide the reader vision of how to execute the upgrade project</p>
]]></content:encoded>
			<wfw:commentRss>http://saplogix.net/blog/?feed=rss2&amp;p=77</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Steps to compile PJSIP (ver. 1.5.5 or svn trunk) for iphone SDK 3.1.2 (with sound)</title>
		<link>http://saplogix.net/blog/?p=36</link>
		<comments>http://saplogix.net/blog/?p=36#comments</comments>
		<pubDate>Mon, 01 Feb 2010 04:48:35 +0000</pubDate>
		<dc:creator>sapdcc</dc:creator>
				<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[2G]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[3Gs]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[cross compile]]></category>
		<category><![CDATA[pjproject]]></category>
		<category><![CDATA[pjsip]]></category>
		<category><![CDATA[pjsua]]></category>
		<category><![CDATA[sip]]></category>
		<category><![CDATA[siphon]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://saplogix.net/blog/?p=36</guid>
		<description><![CDATA[Text taken from: http://www.piemontewireless.net/PJSip155_and_iPhoneSDK312
Thanks to huge work of PJSip team and to Samuel Vinson for iphonesound.c code.
Checkout the latest svn trunk version of PJSip from here:
http://svn.pjsip.org/repos/pjproject/trunk
or download the latest PJSIP from here:
http://www.pjsip.org/download.htm
First step, you need to patches some files in pjproject: 
Step 1: aconfigure.ac
In aconfigure.ac file add the lines below displayed with &#8216;+&#8217;. Of course [...]]]></description>
			<content:encoded><![CDATA[<p>Text taken from: http://www.piemontewireless.net/PJSip155_and_iPhoneSDK312</p>
<p>Thanks to huge work of PJSip team and to Samuel Vinson for iphonesound.c code.</p>
<p>Checkout the latest svn trunk version of PJSip from here:</p>
<p>http://svn.pjsip.org/repos/pjproject/trunk</p>
<p>or download the latest PJSIP from here:</p>
<p>http://www.pjsip.org/download.htm</p>
<p>First step, you need to patches some files in pjproject: </p>
<p>Step 1: <strong>aconfigure.ac</strong></p>
<p>In aconfigure.ac file add the lines below displayed with &#8216;+&#8217;. Of course copy without &#8216;+&#8217; </p>
<p> if test &#8220;$enable_sound&#8221; = &#8220;no&#8221;; then<br />
   true;<br />
 else<br />
  case $target in<br />
+   arm-apple-darwin*)<br />
+        LIBS=&#8221;$LIBS -framework CoreAudio -framework CoreFoundation -framework AudioToolbox&#8221;<br />
+        ac_pjmedia_snd=iphone<br />
+        AC_MSG_RESULT([Checking sound device backend... AudioQueue])<br />
+        ;;<br />
   *darwin*)<br />
        LIBS=&#8221;$LIBS -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox&#8221;<br />
        if test &#8220;`uname -r`&#8221; = &#8220;6.8&#8243;; then</p>
<p>Step 2: <strong>build/rules.mak</strong></p>
<p>In rules.mak modify, remove lines with &#8216;-&#8217; and add lines with &#8216;+&#8217;:</p>
<p> $(LIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)<br />
        if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi<br />
-       $(AR) $(LIB) $(OBJS)<br />
-       $(RANLIB) $(LIB)<br />
+       $(RANLIB) -static -o $(LIB) $(OBJS)</p>
<p>Step 3: pjlib/include/pj/config_site.h</p>
<p>It can be necessary to define some macro. For example :</p>
<p>#undef PJ_HAS_FLOATING_POINT<br />
#define PJ_HAS_FLOATING_POINT   1</p>
<p>/* SRTP has not been ported to iPhone yet */<br />
#   undef PJMEDIA_HAS_SRTP<br />
#   define PJMEDIA_HAS_SRTP             0</p>
<p>/* Disable some codecs for now */<br />
#   define PJMEDIA_HAS_GSM_CODEC        1<br />
#   define PJMEDIA_HAS_L16_CODEC        0<br />
#   define PJMEDIA_HAS_ILBC_CODEC       0<br />
#   define PJMEDIA_HAS_SPEEX_CODEC      0<br />
#   define PJMEDIA_HAS_G722_CODEC       0</p>
<p>#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0</p>
<p>Step 4: <strong>pjmedia/build/os-auto.mak.in</strong></p>
<p>In os-auto.mak.in, add the line with &#8216;+&#8217;</p>
<p>#   &#8211; ds:               Win32 DirectSound (dsound.c)<br />
+#   &#8211; iphone:           iPhone AudioQueue (iphonesound.c)<br />
#   &#8211; null:             Null sound device (nullsound.c)</p>
<p>and</p>
<p>export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=0<br />
endif</p>
<p>+#<br />
+# iPod/iPhone<br />
+#<br />
+ifeq ($(AC_PJMEDIA_SND),iphone)<br />
+export CFLAGS += -DPJMEDIA_AUDIO_LEG_HAS_AUDIOQUEUE=1 -DPJMEDIA_AUDIO_DEV_HAS_LEGACY_DEVICE=1<br />
+endif<br />
+<br />
#<br />
# Null sound device</p>
<p>Step 6: <strong>Makefile<br />
</strong><br />
In Makefile (located at the root), add the line with &#8216;+&#8217;</p>
<p> -DIRS = pjlib pjlib-util pjnath third_party pjmedia pjsip pjsip-apps<br />
+DIRS = pjlib pjlib-util pjnath third_party pjmedia pjsip</p>
<p>Step 7: <strong>pjmedia/build/Makefile<br />
</strong></p>
<p>export PJMEDIA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \<br />
                        alaw_ulaw.o alaw_ulaw_table.o bidirectional.o clock_thread.o codec.o \<br />
                        conference.o conf_switch.o delaybuf.o echo_common.o \<br />
                        echo_port.o echo_suppress.o endpoint.o errno.o \<br />
                        g711.o jbuf.o master_port.o mem_capture.o mem_player.o \<br />
                        null_port.o plc_common.o port.o splitcomb.o \<br />
                        resample_resample.o resample_libsamplerate.o \<br />
                        resample_port.o rtcp.o rtcp_xr.o rtp.o \<br />
                        sdp.o sdp_cmp.o sdp_neg.o session.o silencedet.o \<br />
-                       sound_legacy.o sound_port.o stereo_port.o \<br />
+                       iphonesound.o sound_port.o stereo_port.o \<br />
                        stream.o tonegen.o transport_adapter_sample.o \<br />
                        transport_ice.o transport_loop.o \<br />
                        transport_srtp.o transport_udp.o \<br />
                        wav_player.o wav_playlist.o wav_writer.o wave.o \<br />
                        wsola.o</p>
<p># $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.<br />
#<br />
-TARGETS := pjmedia pjmedia-audiodev pjmedia-codec pjsdp pjmedia-test<br />
+TARGETS := pjmedia pjmedia-audiodev pjmedia-codec pjsdp</p>
<p>all: $(TARGETS)</p>
<p>Step 8: <strong>pjmedia/src/pjmedia-audiodev/legacy_dev.c<br />
</strong><br />
In legacy_dev.c, add the line with &#8216;+&#8217;</p>
<p>    return status;<br />
     }</p>
<p>   *p_aud_strm = &#038;strm->base;<br />
+  (*p_aud_strm)->op = &#038;stream_op;<br />
     return PJ_SUCCESS;<br />
 }</p>
<p>Step 9: <strong>pjmedia/src/pjmedia-audiodev/audiodev.c<br />
</strong></p>
<p>pjmedia_aud_dev_factory* pjmedia_symb_mda_factory(pj_pool_factory *pf);<br />
 #endif</p>
<p>+#if PJMEDIA_AUDIO_DEV_HAS_LEGACY_DEVICE<br />
+pjmedia_aud_dev_factory* pjmedia_legacy_factory(pj_pool_factory *pf);<br />
+#endif<br />
+<br />
 #define MAX_DRIVERS    16<br />
 #define MAX_DEVS       64</p>
<p> #if PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA<br />
     aud_subsys.drv[aud_subsys.drv_cnt++].create = &#038;pjmedia_symb_mda_factory;<br />
 #endif<br />
+#if PJMEDIA_AUDIO_DEV_HAS_LEGACY_DEVICE<br />
+    aud_subsys.drv[aud_subsys.drv_cnt++].create = &#038;pjmedia_legacy_factory;<br />
+#endif</p>
<p>     /* Initialize each factory and build the device ID list */<br />
     for (i=0; i<aud_subsys.drv_cnt; ++i) {</p>
<p><strong>Download iphonesound.c</strong></p>
<p>Download from http://siphon.googlecode.com/files/iphonesound-20091226.c and rename in pjmedia/src/pjmedia/iphonesound.c </p>
<p>Step 10: <strong>Configuration</strong></p>
<p>Generate configuration script</p>
<p>autoconf aconfigure.ac > aconfigure</p>
<p>Step 11: <strong>Compilation</strong></p>
<p>iPhone SDK doesn&#8217;t provide some programs without version number, so we create symbolic link. We should test before create link, but we are very lazy. Copy the lines below in file with name like compile.sh in the root of pjsip.</p>
<p>#!/bin/sh</p>
<p>export DEV=/Developer/Platforms/iPhoneOS.platform/Developer<br />
export SDK=${DEV}/SDKs/iPhoneOS2.1.sdk</p>
<p>pushd ${DEV}/usr/bin<br />
ln -s arm-apple-darwin9-gcc-4.0.1 arm-apple-darwin9-gcc<br />
ln -s arm-apple-darwin9-g++-4.0.1 arm-apple-darwin9-g++<br />
ln -s ranlib arm-apple-darwin9-ranlib<br />
popd</p>
<p>export PATH=${DEV}/usr/bin:${PATH}</p>
<p>export CFLAGS=&#8221;-O2 -arch armv6 -isysroot ${SDK}&#8221;</p>
<p>export LDFLAGS=&#8221;-O2 -arch armv6 -isysroot ${SDK}&#8221;</p>
<p>export CPP=&#8221;${DEV}/usr/bin/cpp&#8221;</p>
<p>./aconfigure &#8211;host=arm-apple-darwin9 &#8211;disable-speex-aec \<br />
   &#8211;disable-speex-codec &#8211;disable-l16-codec &#8211;disable-g722-codec \<br />
   &#8211;disable-ilbc-codec &#8211;disable-ssl</p>
<p>make dep<br />
make</p>
<p>We must not forget to change access right to allow execution. We can run compile.sh after some minutes pjsip is compiled. </code></p>
<p>Thanks to Simone, for this wonderful guide.</p>
<p>Text taken from: http://www.piemontewireless.net/PJSip155_and_iPhoneSDK312</p>
<p>Regards<br />
Syed Arsalan Pervez aka SAP</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4775046341333014";
/* 468x60, created 1/26/10 */
google_ad_slot = "3972449824";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://saplogix.net/blog/?feed=rss2&amp;p=36</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Codec support for PJSIP 1.0.3</title>
		<link>http://saplogix.net/blog/?p=28</link>
		<comments>http://saplogix.net/blog/?p=28#comments</comments>
		<pubDate>Tue, 26 Jan 2010 14:11:03 +0000</pubDate>
		<dc:creator>sapdcc</dc:creator>
				<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[2G]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[3Gs]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[cross compile]]></category>
		<category><![CDATA[G772]]></category>
		<category><![CDATA[pjproject]]></category>
		<category><![CDATA[pjsip]]></category>
		<category><![CDATA[pjsua]]></category>
		<category><![CDATA[sip]]></category>
		<category><![CDATA[siphon]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://saplogix.net/blog/?p=28</guid>
		<description><![CDATA[The problem with pjsip 1.0.3 that it does not feature G7221 or G729, i managed to get the G722 codec working and its pretty straight once you understand whats going on&#8230; Here is the procedure:
once you have populated the config_site.h, enable the G722 codec, here what it should look like:
#undef PJ_HAS_FLOATING_POINT
#define PJ_HAS_FLOATING_POINT   1
/* [...]]]></description>
			<content:encoded><![CDATA[<p>The problem with pjsip 1.0.3 that it does not feature G7221 or G729, i managed to get the G722 codec working and its pretty straight once you understand whats going on&#8230; Here is the procedure:</p>
<p>once you have populated the config_site.h, enable the G722 codec, here what it should look like:</p>
<p>#undef PJ_HAS_FLOATING_POINT<br />
#define PJ_HAS_FLOATING_POINT   1</p>
<p>/* SRTP has not been ported to iPhone yet */<br />
#   undef PJMEDIA_HAS_SRTP<br />
#   define PJMEDIA_HAS_SRTP             0</p>
<p>/* Disable some codecs for now */<br />
#   define PJMEDIA_HAS_GSM_CODEC        1<br />
#   define PJMEDIA_HAS_L16_CODEC        0<br />
#   define PJMEDIA_HAS_ILBC_CODEC       0<br />
#   define PJMEDIA_HAS_SPEEX_CODEC      0<br />
#   define PJMEDIA_HAS_G722_CODEC      1<br />
#   define PJMEDIA_HAS_G7221_CODEC       0<br />
#   define PJMEDIA_HAS_G729_CODEC       0</p>
<p>after this remove the &#8211;disable-g722-codec from your compile.sh, then recompile that, this should enable the G722 codec, and then you can enable it from setting when you installed it in your iphone.</p>
<p>Regards<br />
Syed Arsalan Pervez aka SAP</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4775046341333014";
/* 468x60, created 1/26/10 */
google_ad_slot = "3972449824";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://saplogix.net/blog/?feed=rss2&amp;p=28</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Steps to compile PJSIP (ver. 1.0.3) for iphone (with sound)</title>
		<link>http://saplogix.net/blog/?p=3</link>
		<comments>http://saplogix.net/blog/?p=3#comments</comments>
		<pubDate>Fri, 22 Jan 2010 10:34:01 +0000</pubDate>
		<dc:creator>sapdcc</dc:creator>
				<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[2G]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[3Gs]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[pjproject]]></category>
		<category><![CDATA[pjsip]]></category>
		<category><![CDATA[pjsua]]></category>
		<category><![CDATA[sip]]></category>
		<category><![CDATA[siphon]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://saplogix.net/blog/?p=3</guid>
		<description><![CDATA[Thanks to Samuel who made this possible for iphone, the text below is taken from the following site with few modification to compile it successfully for iphone.
link: http://code.google.com/p/siphon/wiki/CompilationForiPhoneOS2_X
Lets begin, download the 1.0.x release of pjproject from the pjsip website, i have given link below for ease.
link: http://www.pjsip.org/download.htm
(note: GNU Linux/MacOS X/Unix users should use the .tar.bz2 [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to Samuel who made this possible for iphone, the text below is taken from the following site with few modification to compile it successfully for iphone.</p>
<p>link: http://code.google.com/p/siphon/wiki/CompilationForiPhoneOS2_X</p>
<p>Lets begin, download the 1.0.x release of pjproject from the pjsip website, i have given link below for ease.</p>
<p>link: http://www.pjsip.org/download.htm</p>
<p>(note: GNU Linux/MacOS X/Unix users should use the .tar.bz2 version, so download the .tar.bz2 file else it won&#8217;t work)</p>
<p>Follow the following steps to modify few file, please carefully follow it as its a bit different from the one available at the above mentioned website.</p>
<p>note: before you begin, if you are copying directly from the site then be careful as some characters are not copied properly and can cause error when you try to compile pjsip.</p>
<p>Step 1: <strong>aconfigure.ac</strong></p>
<p>In aconfigure.ac file add the lines below displayed with &#8216;+&#8217;. Of course copy without &#8216;+&#8217; </p>
<p> if test &#8220;$enable_sound&#8221; = &#8220;no&#8221;; then<br />
   true;<br />
 else<br />
  case $target in<br />
+   arm-apple-darwin*)<br />
+        LIBS=&#8221;$LIBS -framework CoreAudio -framework CoreFoundation -framework AudioToolbox&#8221;<br />
+        ac_pjmedia_snd=iphone<br />
+        AC_MSG_RESULT([Checking sound device backend... AudioQueue])<br />
+        ;;<br />
   *darwin*)<br />
        LIBS=&#8221;$LIBS -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox&#8221;<br />
        if test &#8220;`uname -r`&#8221; = &#8220;6.8&#8243;; then</p>
<p>Step 2: <strong>build/rules.mak</strong></p>
<p>In rules.mak modify, remove lines with &#8216;-&#8217; and add lines with &#8216;+&#8217;:</p>
<p> $(LIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)<br />
        if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi<br />
-       $(AR) $(LIB) $(OBJS)<br />
-       $(RANLIB) $(LIB)<br />
+       $(RANLIB) -static -o $(LIB) $(OBJS)</p>
<p>Step 3: pjlib/include/pj/config_site.h</p>
<p>It can be necessary to define some macro. For example :</p>
<p>#undef PJ_HAS_FLOATING_POINT<br />
#define PJ_HAS_FLOATING_POINT   1</p>
<p>/* SRTP has not been ported to iPhone yet */<br />
#   undef PJMEDIA_HAS_SRTP<br />
#   define PJMEDIA_HAS_SRTP             0</p>
<p>/* Disable some codecs for now */<br />
#   define PJMEDIA_HAS_GSM_CODEC        1<br />
#   define PJMEDIA_HAS_L16_CODEC        0<br />
#   define PJMEDIA_HAS_ILBC_CODEC       0<br />
#   define PJMEDIA_HAS_SPEEX_CODEC      0<br />
#   define PJMEDIA_HAS_G722_CODEC       0</p>
<p>Step 4: <strong>pjmedia/build/os-auto.mak.in<br />
</strong><br />
In os-auto.mak.in, add the line with &#8216;+&#8217;</p>
<p> #   &#8211; ds:              Win32 DirectSound (dsound.c)<br />
+#   &#8211; iphone:       iPhone AudioQueue (iphonesound.c)<br />
 #   &#8211; null:            Null sound device (nullsound.c)</p>
<p>Add the line below, for example between &#8220;Win 32 Direct Sound&#8221; and &#8221; Null Sound Device&#8221;</p>
<p>#<br />
# iPod/iPhone<br />
#<br />
ifeq ($(AC_PJMEDIA_SND),iphone)<br />
export SOUND_OBJS = iphonesound.o<br />
<span style="text-align:left">export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_IPHONE_SOUND</span><br />
endif</p>
<p>We have defined a new target for sound device.</p>
<p>Step 5: <strong>pjmedia/include/pjmedia/config.h</strong></p>
<p>in config.h add the lines below with &#8216;+&#8217;:</p>
<p> /** Constant for Win32 MME sound backend. */<br />
 #define PJMEDIA_SOUND_WIN32_MME_SOUND      3</p>
<p>+/** Constant for AudioQueue sound backend. */<br />
+#define PJMEDIA_SOUND_IPHONE_SOUND            4</p>
<p>Almost there few steps more&#8230;</p>
<p>Step 6: <strong>pjmedia/src/pjmedia</strong></p>
<p>Download iphonesound from the link below, rename it to iphonesound.c and paste it in the above mentioned directory.</p>
<p>link: http://siphon.googlecode.com/files/iphonesound-20091226.c</p>
<p>note: currently sound is disabled, but will get back to this, first follow the next 2 steps to get the lib compiled.<br />
<code><br />
Step 7: <strong>Configuration</strong></p>
<p>Generate configuration script</p>
<p>autoconf aconfigure.ac > aconfigure</p>
<p>Step 8: <strong>Compilation</strong></p>
<p>iPhone SDK doesn't provide some programs without version number, so we create symbolic link. We should test before create link, but we are very lazy. Copy the lines below in file with name like compile.sh in the root of pjsip.</p>
<p>#!/bin/sh</p>
<p>export DEV=/Developer/Platforms/iPhoneOS.platform/Developer<br />
export SDK=${DEV}/SDKs/iPhoneOS2.1.sdk</p>
<p>pushd ${DEV}/usr/bin<br />
ln -s arm-apple-darwin9-gcc-4.0.1 arm-apple-darwin9-gcc<br />
ln -s arm-apple-darwin9-g++-4.0.1 arm-apple-darwin9-g++<br />
ln -s ranlib arm-apple-darwin9-ranlib<br />
popd</p>
<p>export PATH=${DEV}/usr/bin:${PATH}</p>
<p>export CFLAGS="-O2 -arch armv6 -isysroot ${SDK}"</p>
<p>export LDFLAGS="-O2 -arch armv6 -isysroot ${SDK}"</p>
<p>export CPP="${DEV}/usr/bin/cpp"</p>
<p>./aconfigure --host=arm-apple-darwin9 --disable-speex-aec \<br />
   --disable-speex-codec --disable-l16-codec --disable-g722-codec \<br />
   --disable-ilbc-codec --disable-ssl --disable-sound</p>
<p>make dep<br />
make</p>
<p>We must not forget to change access right to allow execution. We can run compile.sh after some minutes pjsip is compiled. </code></p>
<p>Step 9: <strong>Now for Sound</strong></p>
<p>Assume that you have been able to successfully compile the pjsip lib by now. </p>
<p>Now open iphonesound.c that you have pasted a little while back and uncomment and comment the following line(s).</p>
<p>//#if PJMEDIA_SOUND_IMPLEMENTATION==PJMEDIA_SOUND_IPHONE_SOUND<br />
#if PJMEDIA_AUDIO_LEG_HAS_AUDIOQUEUE</p>
<p>change the above to </p>
<p>#if PJMEDIA_SOUND_IMPLEMENTATION==PJMEDIA_SOUND_IPHONE_SOUND<br />
//#if PJMEDIA_AUDIO_LEG_HAS_AUDIOQUEUE</p>
<p>secondly search for the following in iphonesound.c</p>
<p>PJMEDIA_AUD_DEFAULT_CAPTURE_DEV<br />
PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV</p>
<p>and replace with -1 and -2 respectively and now remove the &#8216;&#8211;disable-sound&#8217; from the compile.sh you created and recompile. </p>
<p>That&#8217;s it &#8230; now you should have working pjsip lib and you can add this in the siphon project and you are good to go.</p>
<p>Comments and suggestion are welcome but please be constructive.</p>
<p>P.S. i have tested this on iphone 3Gs, 3G and 2G, sound in 2G is not that good but rest is working fine and in 3Gs and 3G sound is perfect.</p>
<p>Regards<br />
Syed Arsalan Pervez aka SAP </p>
<p><!--adsense--></p>
]]></content:encoded>
			<wfw:commentRss>http://saplogix.net/blog/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
