Faits : A. Par jugement du 28 février 2019, le Tribunal criminel de l'arrondissement de Lausanne a notamment reconnu A._ coupable de vol en bande et par métier, tentative de vol en bande et par métier, brigandage, dommages à la propriété, recel, escroquerie d'importance mineure, injure, violation de domicile, viol aggravé, faux dans les titres, violence ou menace contre les autorités et les fonctionnaires, infraction à la LEI (anciennement LEtr) et contravention à la LStup (VI) et l'a condamné à une peine privative de liberté de 9 ans, sous déduction de la détention subie avant jugement, peine partiellement complémentaire à celle prononcée le 25 juillet 2017, ainsi qu'à une amende de 700 francs (VII). Il a révoqué le sursis accordé par le ministère public genevois le 25 juillet 2017 et a ordonné l'exécution de la peine pécuniaire de 30 jours-amende de 10 fr. par jour (VIII). Il a ordonné l'expulsion de A._ du territoire suisse pour une durée de 15 ans (XII). Par ce même jugement, C._ a été reconnu coupable de vol en bande et par métier, vol d'importance mineure, tentative de vol en bande et par métier, brigandage, violation de domicile, viol aggravé, infraction à la LEI et contravention à la LStup (I). Il a été condamné à une peine privative de liberté de 8 ans, sous déduction de la détention subie avant jugement (II). Son expulsion du territoire suisse a été ordonnée pour une durée de 15 ans (VI). A._ et C._ ont été reconnus débiteurs solidaires de B._ d'un montant de 1'001 fr. 90 à titre de dommages et intérêts et de 15'000 fr. à titre de réparation de son tort moral (XIII). B. Statuant sur appels de A._ et C._, la Cour d'appel pénale du Tribunal cantonal vaudois les a rejetés par jugement du 18 juin 2019. Elle a abandonné, d'office, les chefs de tentatives de vol en bande et par métier, relevant que le métier absorbe la tentative. Soulignant qu'il s'agissait là d'une opération sans incidence sur la sanction, elle a confirmé le jugement de première instance pour le surplus. En substance, s'agissant des infractions de viol aggravé et de brigandage, la cour cantonale a retenu les faits suivants. A la gare de Lausanne, le 21 octobre 2017, peu après minuit, B._ revenait d'un événement associatif à Genève et a manqué sa dernière correspondance pour Zurich, de sorte qu'elle a été contrainte d'attendre la première correspondance du lendemain durant plusieurs heures. Elle avait un urgent besoin d'aller aux toilettes et devait lutter pour se maintenir réveillée. Entre 2h02 et 3h16, alors qu'elle attendait sur un banc à la gare, A._ l'a accostée et a tenté de communiquer avec elle et de lui prendre la main, geste qu'elle a repoussé. B._ a demandé de l'aide à un tiers, lequel a enjoint à A._ de ne plus l'importuner. B._ s'est ensuite rendue dans le passage sous-voie à la recherche de WC, lesquels étaient fermés. Alors qu'elle était de retour sur la voie n° 1 en demandant " toilettes, toilettes ", C._ l'a abordée en lui faisant des signes pour lui montrer l'emplacement de toilettes. Entre 03h16 et 03h44, C._, sous prétexte de lui indiquer l'emplacement de commodités, a convaincu B._ de le suivre sur quelques mètres derrière un bloc d'immeubles. A._, qui les avait suivis, s'est placé derrière B._ et l'a immobilisée en la saisissant au niveau du buste alors qu'elle tentait de rebrousser chemin. L'un des deux hommes a alors violemment baissé le pantalon de la prénommée pendant qu'elle était maintenue par l'autre. A un moment donné, B._ a été bâillonnée par la main de l'un des prévenus et poussée contre une voiture. En se plaçant derrière elle, C._ et A._ l'ont pénétrée vaginalement sans préservatif alors qu'elle se débattait en essayant de repousser leur corps avec ses mains qu'elle tenait derrière son dos. Ils ont éjaculé en elle. Après cet acte, l'un des deux hommes a arraché la chaîne en or que B._ portait autour du cou, bijou qu'elle a vainement essayé de retenir, se blessant de la sorte au majeur. Juste après, le second s'est emparé de force du téléphone portable qui se trouvait dans le sac en bandoulière de la victime, qui a vainement tenté de résister. Selon un constat médical du 6 novembre 2017, B._ présentait, lors de la consultation en hôpital du 22 octobre 2017, une écorchure (érosion) rouge de la muqueuse d'environ 1 cm longeant le canal vaginal ainsi qu'une écorchure cutanée rouge d'environ 0.5 cm de diamètre sur le côté du majeur droit. C. A._ forme un recours en matière pénale auprès du Tribunal fédéral contre le jugement cantonal et conclut, avec suite de frais et dépens, principalement, au renvoi de la cause à la cour cantonale pour instruction complémentaire. Subsidiairement, il conclut à la libération de l'accusation de viol et de brigandage, une peine privative de liberté inférieure à trois ans, assortie du sursis partiel étant prononcée. Plus subsidiairement, il conclut à ce qu'une peine privative de liberté inférieure à cinq ans soit prononcée. Il requiert le bénéfice de l'assistance judiciaire.